home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr27 / fwkcs200.zip / README.TXT < prev    next >
Text File  |  1995-01-16  |  166KB  |  3,053 lines

  1. FWKCS(TM) Contents_Signature System, Version 2.00. 1995 Jan 16.
  2. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  3.  
  4. Important: Your use of this software is at solely your own risk: please have
  5.            proper backups of your files.
  6.  
  7. This README.TXT file contains these sections:
  8.  
  9.        Summary
  10.        Checklist for Installation, Help, and Routine Maintenance
  11.        Distribution
  12.  
  13.  
  14. Summary:
  15. ~~~~~~~~
  16.         This zipfile, FWKCS200.ZIP, contains the FWKCS(TM) Contents_Signature
  17.      System, Version 2.00, including assembly_language programs,
  18.      documentation, user interface programs, other supporting programs,
  19.      automated setup procedures, etc.  All functions are enabled, to permit
  20.      testing.
  21.  
  22.         Anti-piracy resource material is available separately in the current
  23.      release of FWKCXnnn.ZIP; that series started with FWKCX001.ZIP (note:
  24.      that series number is not tied to the FWKCS version number; for where to
  25.      get the most recent release of FWKCXnnn, see "Note 2:" near the end of
  26.      this file).  Executable code to use that resource data is provided in
  27.      this package, FWKCS200.ZIP.
  28.  
  29.         This package is for use with DOS 3.30 or later, or in a suitable DOS
  30.      session under a multitasking system (including IBM OS/2 2.0 or later);
  31.      preferably at least 336 KB free memory (1 KB = 1024 bytes) to call
  32.      SCAN 2.x.x (using the FWKCS swap option to free space for SCAN).
  33.  
  34.         When operating in a client / host configuration, the client,
  35.      FWKCSC.COM, can fit into about 32 KB of memory.
  36.  
  37.         You may test FWKCS(TM) at no fee before registering it; if for use in
  38.      a public, commercial, school, institutional, or governmental environment,
  39.      then this no_fee test period shall not be more than 45 days.
  40.  
  41.         An unregistered copy of FWKCS shows a note saying how many days have
  42.      elapsed since use began, counting the first day as day 0.  After day 45,
  43.      a delay of about one second per additional day is added (for example, on
  44.      day 55, it pauses for approximately 10 seconds).  Suggested test time is
  45.      up to 30 days, to allow time for your registration to normally reach you
  46.      by mail before those delays start.
  47.  
  48.         To run an unregistered copy of FWKCS, you need to keep a copy of the
  49.      registration form REGISTER.FRM available in the same directory with
  50.      FWKCS.EXE (you can put that directory on your PATH and then call FWKCS
  51.      from anywhere on your system).
  52.  
  53.         Also, FWKCS has a special option, FWKCS /here , which tells FWKCS to
  54.      copy FWKCS.EXE to wherever you are when you give that command.  For
  55.      example, the  /here  option is convenient when a .BAT program needs a
  56.      temporary copy of FWKCS.EXE so that it can change the "macro" settings
  57.      for local use.  However, /here does not fetch a copy of REGISTER.FRM.
  58.  
  59.         Registration for personal use is only $47.00, or for a bulletin board
  60.      of 1 or 2 nodes is only $80.00, plus any applicable taxes (see
  61.      REGISTER.FRM).  In the case of use on a bulletin board system, FWKCS
  62.      often pays for itself completely in a matter of hours, just by the space
  63.      it saves by finding duplicate files already on the board.
  64.  
  65.         The FWKCS(TM) Contents_Signature System provides a powerful platform
  66.      supporting contents_signature functions.  Among other applications,
  67.      FWKCS is used on giant bulletin boards for protecting against duplicate
  68.      files and against accidentally uploaded commercial files.  It can
  69.      process (including controlling the virus testing of) an uploaded zipfile
  70.      containing a full DOS tree of zipped paths and subdirectories, and up to
  71.      16383 entries, while preserving the paths and the Authenticity
  72.      Verification stamp. And its remote Lookup features help users find
  73.      matching files on giant bulletin boards, get missing parts of packages,
  74.      and avoid uploading duplicate material.
  75.  
  76.         In experimental testing, the FWKCS system has been seen to provide
  77.      statistical resolution typically better than one part in ten trillion,
  78.      well over a thousand times as good as the best that is mathematically
  79.      possible for the 32_bit CRC to do.
  80.  
  81.         The affordable prices, the automated installation procedures ranging
  82.      from simple to complex, and the extensive on_line support provided by
  83.      FWKCS on your computer, bring the FWKCS system within reach of almost
  84.      anyone with a computer that can run DOS or a DOS session.
  85.  
  86.         The kernel for the FWKCS system is a 90640_byte self_modifying
  87.      program written entirely in assembly language. It uses a 3072_byte
  88.      internal command line, supports 26 73_byte dynamically changeable
  89.      "macros", can read multiple configuration files into its internal
  90.      command line and expand any macros which they contain, and can operate
  91.      on multiple processors so as to dynamically allocate work among hosts
  92.      serving clients on a network.  FWKCS.EXE, running in host mode, can
  93.      accept work posted to its queue from threads or processors running
  94.      under an operating system other than DOS, provided that any files
  95.      involved are accessible from DOS.  ("threads" is used here generically
  96.      to refer to execution of a set of steps in a program, including also
  97.      "session" under a preemptive multitasking system and "task" under a
  98.      non_preemptive multitasking system)
  99.  
  100.         For a system with a very large data base, FWKCS supports the use of
  101.      an index system with increased "cell" count.  Depending on the
  102.      computer operating system used, this option supports improved access
  103.      to a data base of up to slightly less than 4 Gigabytes (DOS), or
  104.      slightly less than 2 Gigabytes (OS/2), respectively (e.g., more than
  105.      40,000,000 entries of the usual ca 50_byte length), and may improve
  106.      performance for systems with as little as two million entries in the
  107.      data base.  Note that, if desired, the "j" or "l" (lower case L) flag
  108.      can be used in column 17 of CSLIST.SRT and CSLIST1.SRT, to enable
  109.      further bit comparison on an extended (if "j", contiguous) string from
  110.      column 18 up to column 509, inclusive -- if coded in hexadecimal, up
  111.      to an additional 1968 bits.  The "j" flag allows additional material
  112.      to be placed following one or more blank spaces after the contiguous
  113.      identification string.  In this way, many orders of magnitude of
  114.      additional statistical resolution can be provided for the basic /f
  115.      (find if match) and /g (get matching entries) functions.
  116.  
  117.             For details, see FWKCS200.REF (e.g., FWKCS /** ), and search for
  118.             "granularity", "to further enhance statistical resolution", and
  119.             "Special Column 17 Flags".  (e.g., in step 22 in the Checklist,
  120.             below)
  121.  
  122.         Many powerful internal functions are brought out for other uses,
  123.      including the 520_key sorting function able to handle the maximum file
  124.      size which the operating system can handle or 2^32-1, whichever is less
  125.      (e.g., for DOS, slightly less than 4 Gigabytes).  FWKCS can merge two
  126.      sorted files in place, find the difference between sorted files,
  127.      support automatic text interpretation, do very fast contents_signature
  128.      matching, provide a subset of the text find functions with enhanced
  129.      range and speed, and perform many other functions which do not appear
  130.      to be supported by various DOS operating systems.  For a detailed list
  131.      of functions supported, see FWKCS200.REF (step 22, below).
  132.  
  133.         For the FWKCS application of automatically processing files uploaded
  134.      to a bulletin board when they arrive, three configurations are used:
  135.  
  136.      1. FWKCS can process files, working directly (default configuration).
  137.  
  138.      2. The split_test configuration allows the fast part of the testing
  139.      (including checking for duplicate files, known ads, known trojans, and
  140.      known commercial files) to be done while the user waits a few seconds,
  141.      with the slower file_unzipping and further virus testing done while the
  142.      user goes on to other things.  (For example, Channel 1 (ca 135 nodes,
  143.      ca 35 Gigabytes) runs FWKCS in the split_test configuration.)
  144.  
  145.      3. The client / host configuration allows work to be automatically
  146.      transferred to one or more other processors. This can be especially
  147.      useful when multiple nodes are running on a single CPU, with the
  148.      CPU_intensive work of evaluating uploads done on another; or when a fast
  149.      processor on a network is used to upgrade the processing of uploaded
  150.      files on a large BBS without having to replace any of the older CPUs.
  151.  
  152.         For example, The Invention Factory (ca 50 nodes, ca 14.6 Gigabytes)
  153.      has been running FWKCS in the client / host configuration. Until April
  154.      of 1994, 43 of the nodes were running Clark Development Company's
  155.      PCBoard 15.1 on 8088 slave cards, with FWKCS running in host mode on a
  156.      486 on the network (The Invention Factory now uses 80386 CPU's or higher
  157.      on its 50 nodes, with FWKCS client / host configuration).  When PCBoard
  158.      shells out to test an upload, it does not give up any memory -- it calls
  159.      PCBTEST.BAT which calls the FWKCS client program FWKCSC.COM, which can
  160.      run in about 32 KB of RAM.  The spectrum of activities included, and
  161.      includes, among others,
  162.         * virus testing the outer package (McAfee's SCAN),
  163.         * preliminary test of file integrity (using internal FWKCS code),
  164.         * replacing the zipfile comment (Phil Katz's PKZIP),
  165.         * unzipping the zipfile and testing file integrity (PKUNZIP),
  166.         * virus testing the unzipped files,
  167.         * checking the AV stamp to see if it is recognized as an abused AV,
  168.         * comparing all the files with all the other corresponding files on
  169.          the system, regardless of filename, including those in other
  170.          zipfiles, and those which have been retired from use,
  171.         * setting aside uploads which do not have sufficient novelty,
  172.         * testing the files inside a zipfile for age,
  173.         * checking for and deleting commercial files recognized on the
  174.          basis of their contents_signatures, regardless of filename,
  175.         * updating the data base to be able to recognize the files in the new
  176.          upload if they are seen again, even if their names are changed,
  177.         * removing non_AV files found in AV zipfiles,
  178.         * removing recognized ads not protected by AV stamp,
  179.         * blocking trojan files recognized by contents_signature,
  180.         * checking any internal zipfile description FILE_ID.DIZ, DESC.SDI,
  181.          and/or VENDINFO.DIZ to see if it is recognized as unwanted material,
  182.         * using internal upload description FILE_ID.DIZ, DESC.SDI, or
  183.          VENDINFO.DIZ
  184.         * modifying the upload description to include a report of filecount,
  185.          dates of earliest and latest, and how many of the files are new,
  186.         * adding zipfile contents signature line to the upload description,
  187.         * moving rejected files to separate subdirectories for easy
  188.          inspection (except for deleting commercial files received),
  189.         * preparing a report to send to the user,
  190.         * etc...
  191.      In the case where the node which received the upload used an 8088 slave
  192.      card, a typical time for evaluating and accepting an uploaded zipfile
  193.      about half a Megabyte long was less than 20 seconds.
  194.  
  195.         Other supported activities include trimming the artificial tail of
  196.      extra characters from GIF files, processing plain files, partial or
  197.      fully automatic interpretation of text descriptions of files, etc. For
  198.      more, see FWKCS200.REF (step 22, below).
  199.  
  200. --------------------------------------------------------------------------
  201.  
  202.  
  203. Checklist for Installation, Help, and Routine Maintenance
  204. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  205.     This checklist provides steps for installing, or replacing, the
  206.     FWKCS(TM) Contents_Signature System;
  207.     It includes a "guided tour" of many help options; and
  208.     It serves as a checklist for routine maintenance of the installed system.
  209.  
  210.     You might find it convenient to print out this checklist for your use in
  211.     setting up the system, and for reference in doing maintenance.
  212.  
  213.     Once you get started, take your time to read the help screens presented
  214.     by the programs as you work with them.  The .BAT program help_screens put
  215.     information where you can use it while you key in your input.  If the
  216.     installation programs report a problem, stop, correct the problem, and
  217.     begin again.
  218.  
  219.     For full installation and full use of all FWKCS options, you need on your
  220.     PATH the programs listed in checklist steps 1-4, below.
  221.  
  222.     If you will only be using Lookup and Rcrosref, and do not wish to set up
  223.     the whole system, you can run GETLOOK in step 14. To support that, you
  224.     will need PKZIP/PKUNZIP as in step 1, below, and you may want LIST (step
  225.     2) in case you call FWKCS /** for extensive help (discussed below in step
  226.     22).
  227.  
  228.     If you are running a large system with complex use of drives and 
  229.     directories, the recommended method of installation is to use QIKSTART 
  230.     to install the FWKCS system, and then go to your \CS directory and use 
  231.     S_REVCSL.BAT to build the data base.
  232.  
  233.                            (checklist entries 1-3 are shareware; if you are
  234.                            missing any of them, see Note 2, near the end of
  235.                            this file, for no_fee downloads)
  236.  
  237.     [ ]  1. Phil Katz's PKUNZIP(R) and PKZIP(R), Version 2.04g or later.
  238.  
  239.     [ ]  2. Vernon Buerg's LIST program, a recent version.
  240.          (if only using GETLOOK, you can go to step 9)
  241.  
  242.     [ ]  3. McAfee's SCAN, preferably the most recent version of series 1.xx
  243.             or 2.x.x.
  244.          (if you find that you need more free memory, FWKCS can give up all
  245.          but 8064 bytes of RAM when calling SCAN, by swapping most of itself
  246.          out of memory; this is discussed in step 26)
  247.  
  248.     [ ]  4. DOS commands and programs:
  249.             [ ] ATTRIB
  250.             [ ] CHKDSK
  251.             [ ] DEBUG (used in FWKCTEST.BAT and FWKCHTST.BAT)
  252.             [ ] MORE
  253.             [ ] a version of QBASIC, GWBASIC, BASICA, or BASIC, suitable for
  254.                 use on your system.
  255.  
  256.     [ ]  5. (optional) If your operating system allows this function,
  257.             preferably include a file defragmentation program, for example,
  258.             Peter Norton's Speed Disk.
  259.  
  260.     [ ]  6. If FWKCS has not been told specific paths for finding executable
  261.             files (this is discussed in step 18), it checks its current
  262.             directory for executable files before searching for them on the
  263.             PATH. One potential source of trouble, is if APPEND is used with
  264.             a directory which contains an executable file FWKCS calls.
  265.             APPEND makes those files seem to be present in the current
  266.             directory, but they are not executable that way.  To avoid such
  267.             problems, make sure that PKZIP, PKUNZIP, LIST, and SCAN are not
  268.             in any directory which is APPENDed.
  269.  
  270.     [ ]  7. The data base uses (or will use, once it's installed) CSLIST.SRT,
  271.             CSLIST.NDX, CSLIST1.SRT, and CSLIST1.NDX, located in the \CS
  272.             directory. CSLIST.SRT is the main data file. CSLIST1.SRT is used
  273.             for rapid updating when accessioning new material ("accessioning"
  274.             means recording them in the data base for future recognition,
  275.             i.e., generating the contents_signature ("cs") for each file and
  276.             for files directly present in zipfiles, sorting the cs's if there
  277.             is more than one (as often found with files in a zipfile), adding
  278.             their cs's to the data base, and refreshing the rapid update
  279.             index CSLIST1.NDX).
  280.  
  281.                Note: If your collection is sufficiently large, or if your
  282.                      system uses slow network communications (such as "speech
  283.                      quality" telephone lines), you may wish to set the index
  284.                      "cell size" , after you have installed this version of
  285.                      FWKCS. (see WHATSNEW.200; and when you do FWKCS /** in
  286.                      step 22, below, search for "granularity" (without the
  287.                      quotes))
  288.  
  289.             A new automatic exclusion list, X_ADD.LST, can be automatically
  290.             incorporated into the data base. When using X_ADD.LST, its length
  291.             needs to be considered in calculating the free workspace to
  292.             allow.
  293.  
  294.             (Following are some formulas for estimating the amount of space
  295.             to allow, writing len(x) for "length of file x", and * for
  296.             multiplication.)
  297.  
  298.             If you do not have a new X_ADD.LST, then, to run REPLACE or
  299.             QIKSTART, allow 5 Megabytes free workspace (used temporarily
  300.             while setting up; installed size is discussed below).
  301.  
  302.             If you do have a new X_ADD.LST, then
  303.  
  304.             to run QIKSTART, allow 5 Meg + 5*len(X_ADD.LST);
  305.  
  306.             to run REPLACE, allow
  307.             5 Meg + len(CSLIST.SRT) + 5*len(X_ADD.LST) + 3*len(CSLIST1.SRT),
  308.             to permit copying X_ADD.LST and concurrent revision of an active
  309.             FWKCS system (i.e., while the system is up and running; do not do
  310.             a system revision at the same time as you are running REPLACE).
  311.  
  312.             If you run QIKSTART, which does not search your system nor build
  313.             a big data base, the total installed lengths of the FWKCS
  314.             system's files is less than 2 Meg, in a total of 159 files and
  315.             directories (not counting any special custom messages you may
  316.             wish to add).  If you are incorporating a new X_ADD.LST, add
  317.             len(X_ADD.LST).  (The total amount of disk space committed to
  318.             storing those files and directories will depend on how
  319.             efficiently your system uses space on the disk:  for example,
  320.             storing the files using an 8192 byte block size on the disk ties
  321.             up more space than if the system uses a 512 byte block size.)
  322.  
  323.             If you run INSTALL (in step 14) and do the full installation
  324.             procedure, FWKCS may process a large amount of material, and need
  325.             more temporary free space to work in.  Counting temporary files,
  326.             etc., used in sorting and in preparing the main data base,
  327.             recommended workspace is 5 Megabytes + 8% of the total of all the
  328.             filelengths on your system + 5*len(X_ADD.LST); the workspace must
  329.             be located on the drive which will hold the \CS
  330.             (Contents_Signature) directory.
  331.  
  332.             If you use option 5 on the "Menu for Installation" screen
  333.             (reached if you start with INSTALL), you can specify which groups
  334.             of files to include, in which case 8% of the total of those
  335.             filelengths would be used in the above estimate.
  336.  
  337.             After the installation is finished, the amount of space which
  338.             continues to be used is considerably less; it's usually the
  339.             sorting process that needs the most space.
  340.  
  341.             One contents_signature is made for each file (including files
  342.             directly inside zipfiles), and one for each zipfile.  Each
  343.             contents_signature with related additional information takes up
  344.             roughly 50 bytes in the data base; it can be more, if you use
  345.             long paths, or if there is a lot of zipped path information.  If
  346.             your system specializes in ca 500K GIF files, then the CSLIST.SRT
  347.             data file containing their signatures, etc., may be only about
  348.             0.01% as long as the total filelengths.  But if your system
  349.             specializes in haiku, the database could be about half as long as
  350.             the total of all the haiku filelengths.
  351.  
  352.             A typical size for the data base on large public bulletin board
  353.             systems has been somewhat less than 0.5% of the total of the
  354.             filelengths on the system. The recommended working space allows a
  355.             safety factor over this.
  356.  
  357.             If you estimate the space needed, allow a temporary working space
  358.             of at least  (5 Meg) + 4*(the estimated final data base size) +
  359.             5*len(X_ADD.LST).
  360.  
  361.             For example, allow at least (in bytes)
  362.                   5242880 + 200*(filecount+zipfilecount) + 5*len(X_ADD.LST).
  363.             However, filecount includes files inside zipfiles, and often is
  364.             not accurately known until after FWKCS is installed; that's why
  365.             a simple estimate based on total filelengths is provided above.
  366.  
  367.             How much free workspace you will actually need also depends in
  368.             part on how your operating system handles the deletion of
  369.             intermediate files.
  370.  
  371.     [ ]  8. A Contents_Signature Activity place is created during automatic
  372.             installation, as the \CSA directory. Under it are placed 21
  373.             subdirectories. When used for screening incoming files on a
  374.             bulletin board system, FWKCS puts various kinds of rejected files
  375.             into various of these different subdirectories, according to why
  376.             the file was rejected.
  377.  
  378.             For speed of operation, it is much more efficient if the \CSA is
  379.             on the same drive that initially holds the uploaded files: in
  380.             that case, a large rejected file can be quickly moved to its
  381.             target subdirectory just by moving the relatively small amount of
  382.             information that points to the file, without having to copy the
  383.             file itself.
  384.  
  385.     [ ]  9. Make an empty directory (to make it easy to clean up later).
  386.  
  387.     [ ] 10. Copy FWKCS200.ZIP into that empty directory.
  388.  
  389.     [ ] 11. Make that your current directory.
  390.  
  391.     [ ] 12. Do  PKUNZIP FWKCS200.ZIP <enter> (don't delete FWKCS200.ZIP yet).
  392.          (if you will use only GETLOOK, you can go to GETLOOK in step 14)
  393.  
  394.     [ ] 13. If you have a new copy of an automatic exclusion list, X_ADD.LST,
  395.                copy it into this directory before doing step 14.
  396.  
  397.     [ ] 14. Read this part carefully, select which procedure you will use, and
  398.                make any required changes in your system configuration;
  399.  
  400.                If you have already registered FWKCS, copy the registration
  401.                key into the directory as in step 12 and name it REGISTER.KEY
  402.                (it will ask, if you have not done that, and give you an
  403.                opportunity to stop, get the key, and start the program again);
  404.  
  405.                Then, in the same directory as in step 12, run one of these
  406.                setup programs, and follow the instructions on the screen.
  407.                ("<enter>" means "press the enter key")
  408.  
  409.                The programs discussed for this step are INSTALL.BAT,
  410.                REPLACE.BAT, QIKSTART.BAT, and GETLOOK.BAT.  Because INSTALL
  411.                has several major options, it is discussed in more detail
  412.                directly below.
  413.  
  414.         [ ] INSTALL - versatile, for new installation, can search a huge file
  415.                     collection.
  416.  
  417.                     Before doing a full installation of FWKCS for the first
  418.                     time:
  419.  
  420.                     [ ] make sure that there is enough free space on the
  421.                         drive where you will put the \CS (Contents_Signature)
  422.                         directory. (see the discussion in step 7, above).
  423.  
  424.                     [ ] to prevent accidental double_counting of files, go
  425.                         over your system carefully and either (easy way) make
  426.                         sure that there is no case in which the same physical
  427.                         file is reached by two different paths (check all
  428.                         your ASSIGN and SUBST commands), or (and this may be
  429.                         more complicated) make sure that you know of all such
  430.                         cases: if you need to use duplicate paths, see Note 1,
  431.                         below;
  432.  
  433.                     then, do:
  434.  
  435.                     [ ] INSTALL <enter>
  436.  
  437.                     and then follow the instructions on the screen.
  438.  
  439.                          Note 1: if you need to have extra path(s) to the
  440.                                  same file(s), then later,
  441.  
  442.                              [ ] when you get to the screen which says "Menu
  443.                                  for Installation" in the upper left corner,
  444.                                  use option 5;
  445.  
  446.                              [ ] when asked, "Shall I turn S_SETUP.BAT over
  447.                                  to you?", answer Y (for YES);
  448.  
  449.                              [ ] when S_SETUP is turned over to you for use,
  450.                                  study the screen carefully, and leave out
  451.                                  (or exclude) the extra path(s) when you
  452.                                  specify what to include in (or exclude from)
  453.                                  the search.
  454.  
  455.                     INSTALL will do preliminary setup steps, bring out the GO
  456.                     installation program, and then start GO.
  457.  
  458.                     GO is an interactive program. Take your time. Read each
  459.                     screen slowly and carefully. Here are copies of the
  460.                     screens which GO presents, together with explanatory
  461.                     material:
  462.  
  463. [ ] First screen of GO. Follow the instructions for making a printed record.
  464. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  465.  
  466.  During installation, status reports and advice about on_line help are
  467.  displayed on the console screen. For your convenience, and for use in
  468.  case of trouble, you may wish to make a printed record.
  469.  
  470.  To make a printed record, first turn your printer on, then
  471.  toggle Ctrl+P or Ctrl+Shft+PrtSc to send screen output to your printer,
  472.  and then
  473.  
  474. Press any key when ready...  (this line can vary on different systems)
  475.  
  476.  
  477.  FWKCS(TM) Contents_Signature System, Version 2.00.
  478.  Printed record of GO installation procedure:
  479. -------------------------------------------------------------------------
  480.  
  481. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  482.  
  483.  
  484. [ ] Second screen of GO. Press F to go forward to next screen.
  485. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  486. Part of FWKCS(TM) Contents_Signature System, Version 2.00.
  487. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  488.  
  489. Your use of the FWKCS(TM) Contents_Signature System is at solely your own
  490. risk.  For safety, please have proper backups of your files.
  491.  
  492. GO.BAT to install the FWKCS(TM) Contents_Signature System, Version 2.00.
  493.  
  494. Note: for a first_time installation, this procedure normally takes time to do
  495.   automatic searching. For example, for a 32 Megabyte hard disk on an IBM PC,
  496.   or for a 1.2 Gigabyte hard disk with an Intel 486/33, storing mostly
  497.   zipfiles, the total installation time is typically less than half an hour.
  498.  
  499. GO.BAT is for use when called by INSTALL.BAT, or when called directly in
  500. the same directory with FWKCS200.EXE, or FWKCS.200 and FWKCS_TM.200.
  501.  
  502. Usage, direct mode:    GO "<enter>"
  503.  
  504.  
  505. To go forward (next screen), press F.
  506.  
  507. To abort (quit), press A.
  508.  
  509. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  510.  
  511. [ ] Third screen of GO. Press F to go forward to next screen.
  512. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  513.  
  514. FWKCS(TM) Version 2.00, for use under DOS 3.30 or later, or in a suitable DOS
  515.  session under a multitasking system (including IBM's OS/2 2.0 or later).
  516.  
  517. Minimum system memory:  FWKCS requires 162992 bytes of memory. Using its swap
  518.   option, FWKCS has run SCAN 2.1.4 in 412208 bytes total; with EMS available,
  519.   in 336032 bytes low memory. Future needs of external programs may vary.
  520. In the FWKCSC/FWKCS client/host configuration, client while running needs only
  521.   32624 bytes of memory; any external programs are run on the host processor.
  522.  
  523. Be sure that you have available on your PATH:
  524.      DOS ATTRIB; and a version of QBASIC, GWBASIC, BASICA, or BASIC,
  525.         suitable for use on your system.
  526.  
  527. To exploit FWKCS options, also have on your PATH:
  528.  *   Phil Katz's PKZIP(R) and PKUNZIP(R), Version 2.04g.
  529.  *   Vernon Buerg's LIST program, a recent version.
  530.  *   McAfee's SCAN, preferably most recent version of 2.x.x series. (1.xx runs)
  531.      DOS MORE (normally provided in DOS system or DOS session)
  532. (* shareware programs; please register)
  533.  
  534. (If your system fragments large files, preferably include a file
  535.  defragmentation program, for example, Peter Norton's Speed Disk.)
  536.  
  537.  B = go Back 1 screen.  F = go Forward 1 screen.  A = Abort (quit).
  538.  
  539. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  540.  
  541.  
  542. [ ] Fourth screen of GO.  The "Menu for Installation" screen is part of GO.
  543.     Detailed explanations appear below.
  544. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  545. Menu for Installation - FWKCS(TM) Contents_Signature System, Version 2.00.
  546. ~~~~~~~~~~~~~~~~~~~~~
  547. Note: Options 1-5 must have creation rights to make their subdirectories.
  548. Allow at least 5 Megabytes + 8%% of total filelengths, of free workspace.
  549. Options 1,2,3,6,0 execute immediately. Options 4,5 (with *) explain further.
  550.  
  551. For single user, no bulletin board, any/all drives C:-Z:, installation on C:,
  552. with no overlapping paths (won't reach the same physical file by two paths):
  553.    1. including only zipfiles, with extension .Z*.
  554.    2. including only zipfiles, any or no extension, self_extracting or not.
  555.    3. including all accessible non_directory files.
  556. For more detailed control of installation, including bulletin board use,
  557. multiple local users, selected drives, specific file extensions, string
  558. searches, choice of only zipfiles or of all non_directory files, etc.:
  559.  * 4. searches any drives C:-Z:, limited .ext choice, no string searches.
  560.  * 5. flexible: selected drives A:-Z:, selected .ext's, string searches;
  561.       can replace Ver. 1.12 or later; can keep old CSLISTs or start empty;
  562.       can configure for client/host operation.
  563. 6. get REGISTER.DOC, REGISTER.FRM, README.1ST, and README.TXT to read first.
  564. 0. unpack the FWKCS(TM) Contents_Signature System into the current
  565.    directory, without installation. This is used in special cases.
  566.  
  567. To choose option 0...6, press the corresponding numeric key.
  568.  B = go Back 1 screen.  A = Abort (quit).
  569.  
  570. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  571.  
  572. Explanations of Options 0...6:
  573. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  574. Option
  575. ~~~~~~
  576.      0. (listed last in menu) is for unzipping the package without doing any
  577.         installation. For example, if you have installed FWKCS, and have an
  578.         accident which damages one or more of the FWKCS programs, you can
  579.         unpack the whole package into a temporary subdirectory using option 0
  580.         on the menu, copy out a replacement for the damaged file, delete all
  581.         the files in the temporary directory, and remove the directory.
  582.  
  583.      1. install the \cs and \csa directories on drive C:, search any and all
  584.         drives C: - Z: on the system, searching only for zipfiles which have
  585.         an extension of .Z*, such as .ZIP, .Z01, .Z, etc. Files which have an
  586.         extension of .Z*, but are not zipfiles, are skipped. This system
  587.         search is also able to find zipfiles which have their hidden and
  588.         system attribute flags set.  This option executes when you press the
  589.         1 key.
  590.  
  591. Example:  Suppose you wish to install FWKCS on your C: drive, and suppose you
  592.           wish to include the contents_signatures for the new version of
  593.           FWKCS and only zipfiles on your system having file extension .Z* .
  594.  
  595.           In that case, you would type
  596.  
  597.               install <enter>,
  598.               follow the instructions on the screen,
  599.               when you reach the "Menu for Installation", choose option '1'.
  600.  
  601.           The rest of the installation is automatic.
  602.  
  603.      2. install the \cs and \csa directories on drive C:, search any and all
  604.         drives C: - Z: on the system, searching only for zipfiles, any or no
  605.         extension, self_extracting or not. This system search is able to find
  606.         files which have zipfile structure, even if they have their hidden
  607.         and system attribute flags set. This option executes when you press
  608.         the 2 key.
  609.  
  610.      3. install the \cs and \csa directories on drive C:, search any and all
  611.         drives C: - Z: on the system, searching for any and all accessible
  612.         non_directory files, that is, files which are not themselves
  613.         subdirectories (a subdirectory is actually a file which contains
  614.         directory information about the files "in" the subdirectory, but
  615.         files which are being used in that way are not included in this
  616.         search).
  617.  
  618.         If this search finds a .GIF file, with or without a .GIF file
  619.         extension, if will check to see if the .GIF file has a spurious tail
  620.         attached after the end of the working file itself (for example, some
  621.         communications protocols pad the end of the file to bring it up to
  622.         their packet size). If it finds such a spurious tail, it will try to
  623.         remove that material from the end of the file. If it is not allowed
  624.         to remove that apparently spurious material (for example, the file
  625.         may have its attribute set to read_only, or may be located on a
  626.         CDROM, etc), then FWKCS will ignore that apparently spurios material
  627.         when it generates the contents_signature for that file.
  628.  
  629.         This system search is able to find files, even if they have their
  630.         hidden and system attribute flags set. If you are installing FWKCS on
  631.         a system which is keeping one or more files open (e.g., for system
  632.         use) and inaccessible, this option 3 installation process will pause
  633.         when it tries to read such a file, then display an error message (and
  634.         save a copy in FWKCS.ERR), and then continue working. This option
  635.         executes when you press the 3 key.
  636.  
  637.      4. searches any and all drives C:-Z:, limited .ext choice, no string
  638.         searches.  Option 4 displays the screen for the program 2_SETUP.BAT,
  639.         and asks you if you wish to use that program. 2_SETUP.BAT allows you
  640.         to install the \CS directory and the \CSA directory on the same, or
  641.         on different, drives, which can be any drives on your system. Along
  642.         with that additional ability, it allows you to choose from the same
  643.         kinds of searches as are offered in options 1, 2, and 3,
  644.         respectively, as described above.
  645.  
  646.         If you press N ("no"), you are returned to the installation menu; if
  647.         you press Y ("yes"), you are returned to the command line, with
  648.         2_SETUP.BAT's screen still displayed on the screen. (a copy of that
  649.         screen is provided below, with explanation)
  650.  
  651.      5. this is the most flexible of the installation options; and with the
  652.         larger range of choices comes the need for more input from the user
  653.         (explained in detail, below):
  654.  
  655.         you can search on selected drives A:-Z:, look for selected file
  656.         extensions, do string searches for which paths and/or files are to be
  657.         included and for which ones are to be excluded (this is very
  658.         powerful);
  659.  
  660.         you can replace FWKCS Ver. 1.12 or later;
  661.  
  662.         you can keep old CSLISTs or start with empty new ones;
  663.  
  664.         you can configure for client/host operation.
  665.  
  666.         Option 5 displays the screen for the program S_SETUP.BAT, and asks
  667.         you if you wish to use that program.  If you press N ("no"), you are
  668.         returned to the installation menu; if you press Y ("yes"), you are
  669.         returned to the command line, with S_SETUP.BAT's screen still
  670.         displayed on the screen. (a copy of that screen is provided, below,
  671.         with a detailed explanation of the inputs needed from the user)
  672.  
  673.      6. this unpacks new copies of REGISTER.DOC, REGISTER.FRM, README.1ST,
  674.         and README.TXT, e.g., in case the package has been damaged and one or
  675.         more of those four files has been altered.
  676.  
  677. Screens and Examples for options 4 and 5:
  678. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  679. Option 4:
  680. ~~~~~~~~~
  681. If you choose option 4, this screen is displayed:
  682. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  683. Part of FWKCS(TM) Contents_Signature System, Version 2.00.
  684. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  685.  
  686. 2_SETUP.BAT to install the FWKCS(TM) Contents_Signature System,
  687.             searching for non_directory files,
  688.             on a system with no overlapping paths, any drive(s) C:-Z:.
  689.             (Note: this does not install options g and z.
  690.              See README.TXT and FWKCS200.REF.)
  691.                                        (2_SETUP.BAT is used after GO.BAT.)
  692. Usage:  2_SETUP d n D  "<enter>"
  693.  
  694. d  without ":" is drive for the \CS Contents_Signature subdirectory.
  695.  
  696. n = 1 include only zipfiles with extension .Z*.
  697.     2 include only zipfiles, any or no extension, self_extracting or not.
  698.     3 include all accessible non_directory files; strip GIF tail, keep date.
  699.  
  700. D  without ":" is drive for the \CSA Contents_Signature Activity place.
  701. Shall I turn 2_SETUP.BAT over to you?  (Y/N)    A = Abort.
  702.  
  703. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  704. If you press Y, you are shown the following additional line, and then
  705. returned to the command line:
  706. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  707. for online help, type  2_SETUP /*  and then press the enter key.
  708.  
  709. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  710. If you have to make any changes in your system before proceeding, you can
  711. take a break at this point, come back later, and type  2_SETUP /* <enter>
  712. to put the help material back on the screen where you can see it while you
  713. key in your command_line entries.
  714.  
  715. Examples: Suppose you wished to install the system on your J: drive, and
  716.           include only zipfiles which had an extension of .Z* . In that case,
  717.           you could use this command line:
  718.  
  719.                2_SETUP j 1 j <enter>
  720.  
  721.             (the rest of the installation is automatic)
  722.  
  723.           Suppose you wished to install the \CS directory on your H: drive,
  724.           install the \CSA directory on your D: drive, and include all files
  725.           which had zipfile structure, independent of filename.ext. In that
  726.           case, you could use this command line:
  727.  
  728.                2_SETUP h 2 d <enter>
  729.  
  730.             (the rest of the installation is automatic)
  731.  
  732.           In fact, the "Menu for Installation" options 1, 2, and 3 call
  733.           2_SETUP.BAT, and provide it with appropriate command_line inputs.
  734.  
  735.           -----------------------------------------------------------------
  736.  
  737. Option 5:
  738. ~~~~~~~~~
  739. If you choose option 5, this complex screen is displayed (this is explained
  740. in detail, below); this screen serves to provide "reminder" information, and
  741. should be used in conjunction with the more detailed explanation given
  742. below:
  743. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  744. Part of FWKCS(TM) Contents_Signature System, Version 2.00.
  745. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  746. S_SETUP.BAT to install the FWKCS(TM) Contents_Signature System,
  747.     searching for non_directory files,
  748.     including specified drive(s)(A-Z)  and  file extension(s) or string(s).
  749.     NB: this does not install options g and z. See README.TXT, FWKCS200.REF.
  750.  
  751. Usage:  S_SETUP d n D N C q r s t v - .Z .GIF :\UP\ x .SYS "<enter>"
  752.         S_SETUP d n D N C q r s t v - : x \DOS\ "<enter>"
  753.         S_SETUP d ! D N C "<enter>" (to replace 1.12 or later, keep CSLISTs)
  754. d  without ":" is drive for the \CS Contents_Signature subdirectory.
  755. n = 1 include only zipfiles, any or no extension, self_extracting or not.
  756.     2 include all accessible non_directory files; strip GIF tail, keep date.
  757.    "!" is literal, for no search (keeps old CSLISTs, else starts new empty).
  758. D  without ":" is drive for the \CSA Contents_Signature Activity place.
  759. N = 0 get default settings from old \CSA\FWKCS, Ver. 1.12 or later.
  760.     1 install default settings for Ver. 2.00 (including new options).
  761. C = 0 process uploads directly;  1 client/host configuration.
  762. q r s t v  indicate single letters for drives to search.
  763. "-" is literal, followed in CAPITAL LETTERS by extensions (with "."), or
  764.      other strings, to include.  N.B.: do not use 2 paths to same file.
  765. ":" in " - : " means "all non_directory files" (may include hidden/system).
  766. "x" in lower_case is literal, followed in CAPITAL LETTERS by exclusion list.
  767. Shall I turn S_SETUP.BAT over to you?  (Y/N)    A = Abort.
  768.  
  769. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  770. If you press Y, you are shown the following additional line, and then
  771. returned to the command line:
  772. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  773. for online help, type  S_SETUP /*  and then press the enter key.
  774.  
  775. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  776. If you wish to make any changes in your system before proceeding, or wish to
  777. give careful thought to how you would like to set up the search procedure,
  778. you can take a break at this point, come back later, and type
  779. S_SETUP /* <enter>  to put the help material back on the screen where you can
  780. see it while you key in your command_line entries.
  781.  
  782. Here is an expanded view of the S_SETUP.BAT screen, with additional
  783. explanation:
  784.  
  785.      Usage (illustrating different command lines):
  786.  
  787.              S_SETUP d n D N C q r s t v - .Z .GIF :\UPLOADS\ x .SYS <enter>
  788.          OR
  789.              S_SETUP d n D N C q r s t v - : x \DOS\ <enter>
  790.          OR
  791.              S_SETUP d ! D N C <enter>
  792.  
  793.            where  d   without ":" is a single letter for the drive on which
  794.                       to put the \cs subdirectory.
  795.  
  796.                   n = 1 include only zipfiles, with any or no extension,
  797.                         whether self_extracting or not.
  798.  
  799.                       2 include all accessible non_directory files
  800.                         (this can include hidden and system files).
  801.  
  802.                     " ! " (literal) is used when you do not want FWKCS to
  803.                         search for files.
  804.  
  805.                             ! can be used when:
  806.  
  807.                             installing a new version of FWKCS to replace an
  808.                             existing installation of Version 1.12 or later,
  809.                             while keeping your existing subdirectory
  810.                             structure, CSLIST?.* files, uploads log, and
  811.                             special messages;
  812.  
  813.                             making a new installation, starting with an empty
  814.                             set of CSLIST.SRT, CSLIST.NDX, CSLIST1.SRT, and
  815.                             CSLIST1.NDX files. (For example, QIKSTART.BAT,
  816.                             discussed below, calls S_SETUP.BAT and passes
  817.                             this command to it.)
  818.  
  819.                   D   without ":" is drive for the Contents_Signature
  820.                       Activity \CSA place.
  821.  
  822.                   N = 0 get default settings from old \CSA\FWKCS.COM or
  823.                         \CSA\FWKCS.EXE, Version 1.12 or later. Note that
  824.                         there have been many features added in successive
  825.                         releases of FWKCS since version 1.12, and it can be
  826.                         much easier to save a copy of your old macro
  827.                         screen(s) and install all the new macros (option N=1,
  828.                         below), then -- if changes are needed -- use
  829.                         GET_DFLT.BAT to make PUT_DFLT.BAT, edit PUT_DFLT.BAT
  830.                         as appropriate, and then run PUT_DFLT to install the
  831.                         modified settings.  Always keep backup copies when
  832.                         making changes in the macros in FWKCS.EXE or
  833.                         FWKCSC.COM.
  834.  
  835.                       1 install default settings for Ver. 2.00 (including new
  836.                         options).
  837.  
  838.                   C = 0 each node's computer processes each upload directly.
  839.  
  840.                       1 each node runs the evaluation of uploaded files, the
  841.                         evaluation of files already on a BBS, checking for
  842.                         duplicate files, virus testing, and related functions
  843.                         as a client under an FWKCS host.
  844.  
  845.                             The client/host configuration is discussed in
  846.                             more detail, below. If you have many slow nodes
  847.                             and a few fast processors, all on the same
  848.                             network; or if most of your fast processors have
  849.                             many nodes on each, and you also have one or more
  850.                             local fast processor(s) on the net which is/are
  851.                             not used for node interface; then you may find it
  852.                             especially convenient to use the client/host
  853.                             configuration to automatically allocate the
  854.                             CPU_intensive screening of uploads to one or more
  855.                             fast processors, to bring the typical
  856.                             upload_testing speed of all the nodes on your
  857.                             network up to nearly the speed of the fastest
  858.                             processors on your network.
  859.  
  860.                             The client program (FWKCSC.COM) can run in about
  861.                             32 Kb of RAM (1 Kb = 1024 bytes).
  862.  
  863.                             When running in host mode under a multitasking
  864.                             time_slice system, FWKCS.EXE looks for work
  865.                             posted to the host queue, and returns most of its
  866.                             time slice to the system when it does not have
  867.                             work to do.
  868.  
  869.            q r s t v  are examples of single letters designating drives to
  870.                       search; all 26 letters a...z can be listed, with spaces
  871.                       in between.
  872.  
  873.            the " - " is literal, to separate the list of drives from the list
  874.                      of extensions or strings (see next item).
  875.  
  876.            .Z .GIF :\UPLOADS\ in CAPITAL LETTERS, are examples of file
  877.                      extensions (note the ".") or other strings, for
  878.                      non_directory files (or their paths) which are to be
  879.                      included.
  880.  
  881.                      For example, specifying .Z has the effect of including
  882.                      files which DOS would find for *.Z* , including
  883.                      searching in all subdirectories, and all hidden or
  884.                      system files.
  885.  
  886.                      Or, if you wish to include all the non_directory files
  887.                      in each of your :\UPLOADS\ subdirectories on every drive
  888.                      you listed, plus all the non_directory files in all the
  889.                      subdirectories below them, then you could put :\UPLOADS\
  890.                      in the list of extensions or strings.  Note the ":" used
  891.                      in this example:  because a colon appears directly after
  892.                      the drive letter, using it in the string causes the
  893.                      search to look for a string starting in the
  894.                      root_directory position.
  895.  
  896.                      The string_search feature can be used with any substring
  897.                      which can be found anywhere in a (capitalized)
  898.                      D:\PATH\FILENAME.EXT character_string.
  899.  
  900.                      To include all non_directory files which have an
  901.                      extension, whatever that extension may be, or which are
  902.                      located on a path which includes a directory name
  903.                      containing a file extension, you could specify a period
  904.                      "." as your only entry after the "-", by using " - ."
  905.                      (without the quotes) as your last entry.  Note that this
  906.                      may include hidden and system files.
  907.  
  908.                      Note: Under some circumstances, you may find it easier
  909.                            to specify a set of file extension(s) or other
  910.                            search string(s) which results in some
  911.                            d:\path\filename.ext's being included more than
  912.                            once.
  913.  
  914.                            If each file is reached by only one path (that is,
  915.                               there is not any case where the same physical
  916.                               file is reached via 2 different paths),
  917.  
  918.                               then, in S_SETUP, FWKCS automatically deletes
  919.                               the extra references.
  920.  
  921.            ":" in " - : " means "all non_directory files" (may include
  922.                      hidden/system). This is because every
  923.                      D:\PATH\FILENAME.EXT contains a ":".
  924.  
  925.            "x" in lower_case is literal, followed in CAPITAL LETTERS by an
  926.                      exclusion list. In working with complex systems, it
  927.                      sometimes is simpler to specify which files are to be
  928.                      included if the inclusion list can capture a few
  929.                      filenames which are not wanted, and those are then
  930.                      excluded by naming them in an exclusion list.
  931.  
  932.                      Examples: " x .SYS " would exclude all files with
  933.                                extension ".SYS", and any path which contained
  934.                                a directory whose name included that ".SYS"
  935.                                extension;
  936.  
  937.                                In working under OS/2 running on FAT formatted
  938.                                drives, OS/2 has a hidden system file named
  939.                                "EA DATA. SF" in the root directory of each
  940.                                FAT formatted drive, which it holds open.
  941.                                These can all be skipped, by putting  :\EA  in
  942.                                the exclusion list.
  943.  
  944.                                Most of the OS/2 files are normally installed
  945.                                in a tree structure, comprising \OS2 with
  946.                                subdirectories, and \DESKTOP with
  947.                                subdirectories. OS/2 holds open some of the
  948.                                files in the \OS2 tree, especially OS2.*,
  949.                                OS2SYS.*, and SWAPPER.DAT.  The files in or
  950.                                under the \OS2 directory can be skipped, by
  951.                                putting  :\OS2\  in the exclusion list.
  952.  
  953. Examples:
  954.  
  955. 5.1.      Suppose you have the following situation:
  956.  
  957.           you have a bulletin board system, using drives E:, F:, G:, I:, and
  958.           J: for storing zipfiles for your BBS, and suppose you are using a
  959.           directory named :\BBS\ on each drive (plus any subdirectories under
  960.           the :\BBS\ directory) to hold the zipfiles;
  961.  
  962.           you wish to install FWKCS on your C: drive and include only the
  963.           zipfiles located in all the \BBS\ directories and their various
  964.           respective subdirectories;
  965.  
  966.           you are installing the system for the first time;
  967.  
  968.           and you wish to process uploaded files using the same computer that
  969.           is connected to the node on which the uploaded file arrives (rather
  970.           than use the client/host configuration):
  971.  
  972.           In that case, you would type
  973.  
  974.               install <enter>,
  975.  
  976.               follow the instructions on the screen,
  977.  
  978.               when you reach the "Menu for Installation", choose option '5',
  979.  
  980.               when the help screen for S_SETUP.BAT comes up, it asks (at the
  981.               bottom)
  982.   "Shall I turn S_SETUP.BAT over to you?  (Y/N)    A = Abort."
  983.               press Y for YES,
  984.  
  985.               then type
  986.  
  987.               S_SETUP c 1 c 1 0 e f g i j - :\BBS\ <enter>
  988.  
  989.                                             (be sure to use ALL CAPITAL
  990.                                             LETTERS in the list of what to
  991.                                             include, in this case  :\BBS\ )
  992.  
  993.           The rest of the installation is automatic.
  994.  
  995. 5.2.      Suppose you are running under IBM's OS/2, and wish to install FWKCS
  996.           on your J: drive, and suppose you wish to include the
  997.           contents_signatures and options for the new version of FWKCS, and
  998.           include all files on drives E:, F:, G:, and Q:, except files on the
  999.           paths :\OS2\ and :\DESKTOP\, and except for files which start with
  1000.           :\EA ; using each node's local computer to process newly uploaded
  1001.           files.
  1002.  
  1003.           In that case, you would type
  1004.  
  1005.               install <enter>,
  1006.               follow the instructions on the screen,
  1007.               when you reach the "Menu for Installation", choose option '5',
  1008.               when you are asked
  1009.    "Shall I turn S_SETUP.BAT over to you?  (Y/N)    A = Abort."
  1010.               press Y for YES,
  1011.               then type
  1012.  
  1013.               S_SETUP j 2 j 1 0 e f g q - : x :\OS2\ :\DESKTOP\ :\EA <enter>
  1014.  
  1015.                    Notes: the " - : " is literal: a colon ":" appears in
  1016.                           every path, so putting a ":" as the inclusion entry
  1017.                           tells S_SETUP to include every file on the system;
  1018.  
  1019.                           this is followed by lower case " x " to mark the
  1020.                           beginning of the exclusion list;  after the " x ",
  1021.                           every letter used in that exclusion list must be in
  1022.                           UPPER CASE.
  1023.  
  1024.           The rest of the installation is automatic.
  1025.  
  1026.  
  1027.                     After the automatic installation has finished running,
  1028.                     the printed record will tell you how and where to get
  1029.                     on_line help.
  1030.  
  1031.                     On a large system, this automatic procedure can take
  1032.                     hours to run. If you are using drives which have slow
  1033.                     access to files, it can take many hours.
  1034.  
  1035.                     After running INSTALL, go to step 15.
  1036.  
  1037.         [ ] REPLACE - for quickly replacing a working FWKCS system, version
  1038.                     1.12 or later; does not search your file collection.  If
  1039.                     you are not running a recent version of FWKCS, it can be
  1040.                     easier to copy your old version of FWKCS.EXE or FWKCS.COM
  1041.                     to FWKCSOLD.*, tell REPLACE to install the new options on
  1042.                     FWKCS.EXE, and later use GET_DFLT to tailor the settings
  1043.                     using your old version's /d and /d! screens for
  1044.                     suggestions.
  1045.  
  1046.                     To use REPLACE, do
  1047.  
  1048.                     [ ] REPLACE <enter>
  1049.  
  1050.                     and then follow the instructions on the screen.
  1051.  
  1052. This is the main instruction screen from REPLACE:
  1053. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1054. Part of FWKCS(TM) Contents_Signature System, Version 2.00.
  1055. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  1056.  
  1057. Your use of the FWKCS(TM) Contents_Signature System is at solely your own
  1058. risk. For safety, please have proper backups of your files.
  1059.  
  1060. REPLACE.BAT to replace a working FWKCS(TM) system, Ver. 1.12 or later;
  1061.    for use in same directory with FWKCS200.ZIP, FWKCS.200, and FWKCS_TM.200.
  1062. To proceed, have QBASIC, GWBASIC, BASICA, or BASIC available on your path, as
  1063.      appropriate for your operating system;
  1064.  have a working copy of FWKCS in \CSA, containing your macros, paths, etc..
  1065.      (If you are installing FWKCS(TM) for the first time, use INSTALL.BAT.)
  1066.                                                               ~~~~~~~~~~~
  1067.  Usage:   REPLACE d D N C "<enter>"
  1068.  where  d  without ":" is the drive for the \CS directory
  1069.         D  without ":" is the drive for the \CSA directory
  1070.         N = 0 get default settings from old \CSA\FWKCS, Ver. 1.12 or later.
  1071.             1 install default settings for Ver. 2.00 (including new options).
  1072.         C = 0 process uploads directly; 1 run as client under FWKCS host.
  1073.  
  1074. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1075.            where  d   without ":" is a single letter for the drive on which
  1076.                       to put the \cs subdirectory.
  1077.  
  1078.                   D   without ":" is a single letter for the drive for the
  1079.                       Contents_Signature Activity \CSA place; REPLACE looks
  1080.                       here for a copy of FWKCS.COM or FWKCS.EXE.
  1081.  
  1082.                   N = 0 get default settings from old \CSA\FWKCS.COM or
  1083.                         \CSA\FWKCS.EXE, Version 1.12 or later. Note that
  1084.                         there have been many features added in successive
  1085.                         releases of FWKCS since version 1.12, and it can be
  1086.                         much easier to save a copy of your old macro
  1087.                         screen(s) and install all the new macros (option N=1,
  1088.                         below), then -- if changes are needed -- use
  1089.                         GET_DFLT.BAT to make PUT_DFLT.BAT, edit PUT_DFLT.BAT
  1090.                         as appropriate, and then run PUT_DFLT to install the
  1091.                         modified settings.  Always keep backup copies when
  1092.                         making changes in the macros in FWKCS.EXE or
  1093.                         FWKCSC.COM.
  1094.  
  1095.                       1 install default settings for Ver. 2.00 (including new
  1096.                         options).
  1097.  
  1098.                   C = 0 each node's computer processes each upload directly.
  1099.  
  1100.                       1 each node runs the evaluation of uploaded files, the
  1101.                         evaluation of files already on a BBS, checking for
  1102.                         duplicate files, virus testing, and related functions
  1103.                         as a client under an FWKCS host.
  1104.  
  1105.                         (see also discussion of C options under S_SETUP,
  1106.                         above)
  1107.  
  1108.                     (REPLACE.BAT does preliminary checks, calls S_SETUP.BAT
  1109.                     with commands tailored for this installation)
  1110.  
  1111.                     After running REPLACE, if you do not have a registration
  1112.                     key, be sure to see step 29 and to do step 30.  You might
  1113.                     find the rest of this checklist interesting: in
  1114.                     successive versions since 1.12, many new features have
  1115.                     been added.  This checklist provides a guided tour of
  1116.                     selected features, and a system maintenance list.
  1117.  
  1118.         [ ] QIKSTART - quick, does not search your file collection; this
  1119.                     provides a convenient way to see the FWKCS system
  1120.                     structure, programs, and literature.
  1121.  
  1122.                     To use QIKSTART, do
  1123.  
  1124.                     [ ] QIKSTART <enter>
  1125.  
  1126.                     and then follow the instructions on the screen.
  1127.  
  1128. The QIKSTART screen:
  1129. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1130. Part of FWKCS(TM) Contents_Signature System, Version 2.00.
  1131. (C)Copyright Frederick W. Kantor 1989, 1995. All rights reserved.
  1132.      Your use of the FWKCS(TM) Contents_Signature System is at solely your
  1133.         own risk. For safety, please have proper backups of your files.
  1134.  
  1135. QIKSTART.BAT to set up the FWKCS(TM) Contents_Signature System, Ver. 2.00;
  1136.   for use in same directory with FWKCS200.ZIP, FWKCS.200, and FWKCS_TM.200.
  1137.   QIKSTART does not search your file collection (see README.TXT).
  1138.   Disk space: allow 5 Meg. setup, ca 1.8 Meg. static files, starting empty.
  1139.   For full installation with search of your file collection, use INSTALL.BAT.
  1140. (More information provided as FWKCS.200 package is opened; see README.TXT.)
  1141.  
  1142.              If you are replacing FWKCS Ver. 1.12 or later, use REPLACE.BAT.
  1143.              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1144.  Usage:   QIKSTART d D "<enter>"
  1145.           QIKSTART d D c "<enter>"
  1146.  
  1147.  where  d  without ":" is the drive for the \CS directory
  1148.         D  without ":" is the drive for the \CSA directory
  1149.         c  capture contents_signatures re FWKCS200.ZIP (recommended).
  1150.  
  1151. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1152.  
  1153.                     After running QIKSTART, go to step 15.
  1154.  
  1155.         [ ] GETLOOK  - only brings out programs and literature re remote
  1156.                     Lookup etc, and files which may be called by FWKCS.EXE.
  1157.  
  1158.                     To use GETLOOK, do
  1159.  
  1160.                     [ ] GETLOOK <enter>
  1161.  
  1162.                     and then follow the instructions on the screen.
  1163.  
  1164.                     After running GETLOOK, you can delete these files in the
  1165.                     temporary directory:
  1166.                     [ ] FWKCS200.ZIP
  1167.                     [ ] FILE_ID.DIZ
  1168.                     [ ] WHATSNEW.TXT
  1169.                     [ ] INSTALL.BAT
  1170.                     [ ] REPLACE.BAT
  1171.                     [ ] QIKSTART.BAT
  1172.                     [ ] GETLOOK.BAT
  1173.                     [ ] FWKCS.200
  1174.                     [ ] FWKCS_TM.200
  1175.  
  1176.                     If you are very tight on space, and will not want to use
  1177.                     the main reference, you can also delete FWKCS200.REF.
  1178.                     But, before you do that, try this:  FWKCS /** <enter>.
  1179.  
  1180.                     After deleting unwanted files, copy or move the remaining
  1181.                     files to a directory already on your path, and empty and
  1182.                     remove the temporary directory.
  1183.  
  1184.                     Then, go to step 28.
  1185.  
  1186.     [ ] 15. When the setup program finishes running, you should be in your
  1187.                \CSA Contents_Signature Activity place (a directory with 21
  1188.                subdirectories); and there should be a "welcome" screen. If
  1189.                that came out OK, then
  1190.            [ ] Empty and remove the directory made in step 9.
  1191.  
  1192.  
  1193.  
  1194.      If you ran INSTALL, and did a fresh installation with a system search
  1195.      to build your data base; or if you ran REPLACE, and replaced a working
  1196.      version of FWKCS which already has its data base:
  1197.  
  1198.           you can take advantage of the anti-piracy resource material
  1199.           provided separately in FWKCXnnn.ZIP.
  1200.  
  1201.           It comes with a short instruction file / check list.
  1202.  
  1203.           XCLEANUP.BAT and FLAG_REV.BAT are used for that purpose. They
  1204.           are located in your \CS directory.
  1205.  
  1206.                        For direct on_line help, do  FLAG_REV /* <enter>,
  1207.                                                     XCLEANUP /* <enter>,
  1208.                        or use CSM in your \CS directory.
  1209.  
  1210.  
  1211. ----------------------------------------------------------------------------
  1212. Here is some additional explanatory material which you may want to use, in
  1213. installing or maintaining the system -- you might start using it at this
  1214. stage of the installation procedure, or wait until later. I suggest that you
  1215. scan it now, and come back to it later:
  1216.  
  1217.            There are many useful options. The above setup procedures have set
  1218.            up a place for you to work with them, and installed them in FWKCS
  1219.            so that they refer to that place.  This configuration is for
  1220.            multiple concurrent operations, including single or multiple local
  1221.            users and multi_node bulletin board systems.
  1222.  
  1223.            The options are installed via "macro"s, loaded into FWKCS itself,
  1224.            after which they are available from the command line. This is
  1225.            explained in FWKCS200.REF. The macros can be displayed, as part of
  1226.            the user_settable defaults, by typing  FWKCS /d <enter>  and
  1227.            FWKCS /d! <enter>.
  1228.  
  1229.            The program CSAMACS.BAT was used for setting up a work area
  1230.            for use with a multinode BBS. It is called autoimatically during
  1231.            the setup procedures, or can be called while in the \CS directory:
  1232.  
  1233.                      CSAMACS d N <enter>
  1234.               or
  1235.                      CSAMACS d N c <enter>
  1236.  
  1237.            where  d  without a ":" is a single letter for the drive
  1238.                      on which to install the Contents_Signature
  1239.                      Activity \CSA place.
  1240.  
  1241.                   N = 0 get default settings from old \CSA\FWKCS.COM, or
  1242.                         .EXE, Version 1.12 or later.
  1243.  
  1244.                       1 install default settings for Ver. 2.00 (including new
  1245.                         options).
  1246.  
  1247.                   c  create special copy of PCBTEST.BAT to run as FWKCS
  1248.                      client.
  1249.  
  1250.            CSAMACS sets up the \CSA Contents_Signature Activity subdirectory
  1251.            with 21 additional subdirectories under it, prepares it as a work
  1252.            place, and moves to there.  Once you get there (and have perhaps
  1253.            had a chance to look at LOOKUP.DOC, FWKCTEST.BAT, and
  1254.            FWKCHTST.BAT), do a DIR listing to see what's there.
  1255.  
  1256.            Then type FWKCS /d <enter>, and then FWKCS /d! <enter>, to see the
  1257.            new macros, and refer to FWKCS200.REF for what these macros and
  1258.            options are able to do.
  1259.  
  1260.            For safety, the automatic installation procedure write_protects
  1261.            all the initial files in the \CSA Contents_Signature Activity
  1262.            place. To make any changes in the entries on the FWKCS.EXE /d and
  1263.            /d! screens, you will need to unprotect FWKCS.EXE.  To do this,
  1264.            type
  1265.  
  1266.                      attrib -r fwkcs.exe <enter>
  1267.  
  1268.            Then, set paths for items 5-8 on the /d screen, so that FWKCS can
  1269.            reach those programs more efficiently. Otherwise, it has to search
  1270.            the path for those programs which are not in its default
  1271.            directory. If you look at item 9 on the FWKCS /d screen, you will
  1272.            see that the path for the uploads log has been set to create or
  1273.            add to FWKUPLD.LOG in the d:\CSA subdirectory.
  1274.  
  1275.            If you wish to keep your upload log in a different place, or use a
  1276.            different name for it, you can set it in item 9 on the /d screen,
  1277.            by typing
  1278.  
  1279.                      fwkcs d:\path\filename.ext /d9 <enter>
  1280.  
  1281.            If you do not use a d:\path for the uploads log, then each node
  1282.            writes separately to an uploads log in its default directory.
  1283.  
  1284.            Errors are logged to FWKCS.ERR in the default directory, to help
  1285.            keep track of where a problem occurred, and optionally also to a
  1286.            central file. As part of routine maintenance, you can do a
  1287.            system_wide search on your equipment for any FWKCS.ERR file which
  1288.            may have been created there; a central error log can be used to
  1289.            notify you when such a system_wide search would be appropriate.
  1290.  
  1291.            After you have set the paths, you can protect your configuration
  1292.            by setting the attribute of FWKCS.EXE to read_only (shareable
  1293.            read_only). To do that, type
  1294.  
  1295.                      attrib +r fwkcs.exe <enter>
  1296.  
  1297.            If you protect FWKCS.EXE in this way, remember to unprotect it
  1298.            (ATTRIB -r) before you try to change any entry on the /d or /d!
  1299.            screen.  Otherwise, you will get an error message saying that
  1300.            access was denied.
  1301.  
  1302.            For local BBS work, you can create a configuration file to use
  1303.            instead of the macros used for BBS operation, by running
  1304.  
  1305.                fwkcs [uvwxyzcdefgh] [-localmac] <enter>
  1306.  
  1307.            and then use a word processor (with the wordwrap OFF) to edit
  1308.            LOCALMAC -- for example, you can include /a5 or /a6, or other(s),
  1309.            in LOCALMAC, so that you do not have to make the entry each time.
  1310.            Then, you can include this modified LOCALMAC in your command line,
  1311.            this way:
  1312.  
  1313.                fwkcs (whatever goes here) [+localmac] (whatever else)
  1314.  
  1315.            the  [+file]  appearing in the command line tells FWKCS to read
  1316.            the file as part of the command line, inserting it at that
  1317.            location in the surrounding material. The file can have full
  1318.            d:\path\filename.ext. See FWKCS200.REF.
  1319.  
  1320.            Make the copy of FWKCS.EXE which is in your \csa subdirectory
  1321.            available on your path, by adding d:\csa, where d is its drive, to
  1322.            your path.
  1323.  
  1324.      >>--> Use only one source copy for all the copies of FWKCS.EXE on your
  1325.            path. If you have multiple servers with a copy of FWKCS.EXE on
  1326.            each, make them all from the working copy of FWKCS.EXE which has
  1327.            had its defaults and macros loaded. (If you have run 2_SETUP or
  1328.            S_SETUP (which run CSAMACS), or have run CSAMACS directly, that
  1329.            working copy of FWKCS.EXE is in your \csa subdirectory, and a
  1330.            write_protected backup copy is in your \cs subdirectory.)
  1331.  
  1332.            These setup procedures leave copies of FWKCS.EXE and FWKDG.COM
  1333.            behind in the \cs directory. The \csa area contains files which
  1334.            you can experiment on, and material to read while you do this. If
  1335.            you destroy some of the FWKCS files, you can go to step 9, above,
  1336.            run INSTALL, and choose option 0 on the Menu for Installation,
  1337.            copy the missing files, delete the rest of the files in the
  1338.            temporary directory, and remove the empty temporary directory.
  1339.  
  1340.            I suggest you look at the discussion re removing duplicate files,
  1341.            in this section, below. It is something you may well want to
  1342.            pursue, at your convenience. For future reference, I suggest that
  1343.            you look at section 5, on revising the four CSLIST*.* files. You
  1344.            may also wish to look at the discussion in section 6, below, on
  1345.            customizing messages to users.
  1346.  
  1347.            Note to Sysops:
  1348.  
  1349.            The macros installed by CSAMACS do not include the important &g
  1350.            option.  To add this option, type
  1351.  
  1352.                      ADD_G <enter>
  1353.  
  1354.            On completion, this displays the FWKCS /d! screen. The addition is
  1355.            made to the right end of macro [y], where it should appear in
  1356.            capitalized form.
  1357.  
  1358.            The operating version of PCBTEST.BAT provided in your \CSA
  1359.            Contents_Signature Activity subdirectory by CSAMACS supports this
  1360.            function.  It is a single line,
  1361.  
  1362.                          FWKCS %1 %2 %3 /t20a5[uvwxyzcdef]
  1363.  
  1364.            During testing, this preserves the AV status and internal
  1365.            structure of the uploaded file. It is able to run virus testing on
  1366.            all the files in a zipfile which contains a full DOS tree of
  1367.            subdirectories, while using only one subdirectory per node as a
  1368.            work area.  See FWKCS200.REF.
  1369.  
  1370.            If you wish to restrict your BBS to accept only zipfiles, you can
  1371.            accomplish this by adding the z option to the macros used by FWKCS
  1372.            in performing BBS activities. To do this, type
  1373.  
  1374.                      ADD_Z_56 <enter>
  1375.  
  1376.            On completion, this displays the FWKCS /d screen. The addition is
  1377.            made to the left end of macro [d], where it should appear in
  1378.            capitalized form.
  1379.  
  1380.            Separately, you can set the macro used with /a3 and /a4 to accept
  1381.            only zipfiles, by typing
  1382.  
  1383.                      ADD_Z_34 <enter>
  1384.  
  1385.            On completion, this displays the FWKCS /d screen. The z option is
  1386.            added to the left end of macro [b], where it should appear in
  1387.            capitalized form.  With just that addition of z, the programs
  1388.            ACCESION and ACCESZIP will rename non_zip files ".NZ".
  1389.  
  1390.                    Notes:  Option s suppresses renaming under /a3 and /a4.
  1391.  
  1392.                            The right end of macro [b] has been left as  V  so
  1393.                            that -- if the version of SCAN which you are
  1394.                            running accepts an external data file at run_time
  1395.                            -- you can easily add an external virus_data_file
  1396.                            d:\path\virdata to ACCESION.BAT and ACCESZIP.BAT.
  1397.                            To do this, use a word processor to make the
  1398.                            following insertion in each of the two .BAT
  1399.                            programs, using a contiguous string of characters
  1400.                            with no blank space between the "]" and the
  1401.                            semicolon ";" :
  1402.  
  1403.                            ACCESION.BAT:
  1404.  
  1405.                               change   FWKCS %1 /t60a3[uvwxb]
  1406.  
  1407.                               to       FWKCS %1 /t60a3[uvwxb],d:\path\virdata;
  1408.  
  1409.                            ACCESZIP.BAT:
  1410.  
  1411.                               change   FWKCS %1 /t60a4[uvwxb]
  1412.  
  1413.                               to       FWKCS %1 /t60a4[uvwxb],d:\path\virdata;
  1414.  
  1415.                            See FWKCS200.REF, /a3 and /a4, option v.
  1416.  
  1417.            Option !N is a bit_mapped option for deferred disposition of files
  1418.            rejected because of zip in zip or because their AV_stamp was
  1419.            banned, obsolete, or deficient. See discussion under Auxiliary
  1420.            Function 5 in FWKCS200.REF. To add !3, you can make \CSA your
  1421.            current directory, and then do
  1422.  
  1423.                      ATTRIB -r FWKCS.EXE
  1424.                      ADD_!3
  1425.                      ATTRIB +r FWKCS.EXE
  1426.  
  1427.            to add !3 to the left end of macro [d] for use under Auxiliary
  1428.            Functions 5, 6.
  1429.  
  1430.  
  1431.        Split Testing
  1432.        ~~~~~~~~~~~~~
  1433.  
  1434.            Faster modems are coming into wider use, and various test
  1435.            procedures, such as virus_testing and test for file integrity, can
  1436.            present an unwelcome waiting time for a user who is, for example,
  1437.            calling long distance. Two programs are provided to handle this in
  1438.            the FWKCS(TM) Contents_Signature System, SPLITEST.BAT and
  1439.            DO_BLOG.BAT, together with assembly_language code in FWKCS.EXE.
  1440.  
  1441.            SPLITEST replaces FWKCS macros [f], [g], and [h], to split the
  1442.            test into a quick part, done and reported to the user while the
  1443.            user is waiting, and a slower part, which can be done later by the
  1444.            same processor -- or can be done by another processor on a network
  1445.            or as another task on a multitasking system, while the user goes
  1446.            on to something else.
  1447.  
  1448.            You are asked to provide a search list, d:\CSA\SRCH , of the
  1449.            places where FWKCS should look to find the backlogged file to
  1450.            process further.  This should have one entry per line, flush left,
  1451.            of the form  d:\path  for each directory to be searched.  In order
  1452.            to avoid conflict with the BBS operating system, make the first
  1453.            directory different from the one into which the file is first
  1454.            uploaded, so that the BBS will have time to move the file before
  1455.            FWKCS opens the file. A wait_time is provided, during which FWKCS
  1456.            will wait for a file to appear in the first directory on the
  1457.            search list, *tNNNN.NN (up to 9999.99 seconds). SPLITEST initially
  1458.            sets this to 5 seconds (you can use GET_DFLT to make PUT_DFLT.BAT,
  1459.            to easily change *t in macro [f].  After waiting for the file at
  1460.            the first location, if the file is not yet there, then FWKCS
  1461.            searches quickly through subsequent locations on the search list
  1462.            until it either finds the file or uses up the list.  If it does
  1463.            not find the file at any location on the search list, it looks
  1464.            last in its own default directory.
  1465.  
  1466.            DO_BLOG processes the backlog produced by the split testing.  It
  1467.            can automatically allocate this work to multi_tasking processor(s)
  1468.            and to multiple processor(s) on a network, to share the work load.
  1469.            When multiple processors are used to process the backlog, each
  1470.            should be run in a separate work area, to avoid any conflict in
  1471.            the operation of DO_BLOG. If you are using a ##CELLAR below the
  1472.            default directory of each node, then each of these separate work
  1473.            areas for processing the backlog should also have its own separate
  1474.            ##CELLAR below it.
  1475.  
  1476.            DO_BLOG keeps two local lists, PASS2.LST and FAIL2.LST, to keep
  1477.            track of which files passed the second test and which ones failed;
  1478.            and FWKCS puts these entries into two central lists, d:\CSA\PASS2
  1479.            and d:\CSA\FAIL2.  In a multitask or multiprocessor environment,
  1480.            FWKCS's network queue timing provides protection against conflicts
  1481.            in appending these entries to these central lists.
  1482.  
  1483.               PASS2.LST contains a one_line note for each file that passed
  1484.               further testing; and, if you specified that a final zipfile
  1485.               comment be added, a further entry saying that the zipfile
  1486.               comment has been replaced. FWKCS does not make a further entry
  1487.               in FWKUPLD.LOG when a file passes further testing.
  1488.  
  1489.               FAIL2.LST contains a report of the reason why the file was
  1490.               rejected, like what would have been presented to the user had
  1491.               the file been rejected while the user was waiting, but the part
  1492.               of the message created by FWKCS is in plain ASCII (i.e., it
  1493.               does not include any special PCBoard @codes).  These reports
  1494.               are separated by a horizontal dashed line.  FWKCS makes a
  1495.               further entry in FWKUPLD.LOG, noting the time and the reason
  1496.               why the file was rejected, etc.
  1497.  
  1498.            If FWKCS (called by DO_BLOG) finds that it cannot delete a
  1499.            rejected file (e.g., after the file has been copied to its target
  1500.            directory), then, as set up by SPLITEST, it creates a DWRN
  1501.            deletion_failure_warning file in your \CSA . For example, this
  1502.            might happen on a network if someone started to download a file
  1503.            before the second part of the testing was completed. You can set
  1504.            *dNNNN.NN (up to 9999.99 sec.) to specify how long to keep trying
  1505.            before reporting failure. SPLITEST sets this to 5 seconds, to
  1506.            avoid excessive delay when only one processor is handling the
  1507.            backlog.
  1508.  
  1509.  
  1510.        Client/Host Configuration
  1511.        ~~~~~~~~~~~~~~~~~~~~~~~~~
  1512.            The computation_intensive steps in evaluating an uploaded file
  1513.            may add an undesired amount time to processing files on slower
  1514.            computers, or in systems which have many nodes under a computer.
  1515.            One approach is split testing, discussed above.  It is also
  1516.            possible to have each node run as a "client" under one or more
  1517.            FWKCS hosts.  For example, the host processors can be Intel 486
  1518.            CPU's, while each node might be no more than an 8088.
  1519.  
  1520.            FWKCSC.COM is provided for operation as a client. It can fit into
  1521.            ca 32 KB of memory.
  1522.  
  1523.            Operation in the client/host configuration requires setting up the
  1524.            .BAT program called for processing the upload, so that FWKCSC runs
  1525.            as a client.  Macros [a] and [b], as installed using the automatic
  1526.            installation procedure, contain instructions for operation as a
  1527.            client.  (The installation option of specifying whether the node
  1528.            is to act directly or in a client/host configuration, provides a
  1529.            choice of whether the .BAT program created for use by the node(s)
  1530.            is configured for direct action or to act as a client;  in either
  1531.            case, installing the new options installs macros [a] and [b].)
  1532.  
  1533.              Note: you can make changes using GET_DFLT.BAT to make
  1534.                    PUT_DFLT.BAT, and then use a word processor (with wordwrap
  1535.                    turned off) to edit PUT_DFLT.BAT. If your word processor
  1536.                    can process two files together, you might use it to copy
  1537.                    lines for macros from BBCLIENT.BAT or other setup
  1538.                    programs, into PUT_DFLT.BAT.
  1539.  
  1540.                    (for help re GET_DFLT.BAT, type  GET_DFLT /* <enter>
  1541.                    after installation)
  1542.  
  1543.            BBCLIENT.BAT (re)installs macros [a],[b] in FWKCSC.COM, and can
  1544.            also create a version of PCBTEST.BAT configured to run as a client
  1545.            under an FWKCS host.  Because BBCLIENT.BAT is a .BAT program, you
  1546.            can look inside it for the exact code used.
  1547.  
  1548.            Operation of the host is specified in DO_HOSTQ.BAT. It can be run
  1549.            on one or more host processor(s), (each) monitoring the dynamic
  1550.            host queue, taking work from it, and delivering the result to the
  1551.            respective client.  To avoid conflict, each host should run in its
  1552.            own separate subdirectory.  If you have specified the use of a
  1553.            ##CELLAR, then each host's work area should be set up with a
  1554.            ##CELLAR under it.
  1555.  
  1556.            (For more detailed information re using FWKCS in a client/host
  1557.            configuration, see FWKCS200.REF; re BBS use, brief notes appear
  1558.            under Auxiliary Function 5;  detailed discussion of client/host
  1559.            operation appears under Auxiliary Function 8.)
  1560.  
  1561.  
  1562.        Doing it in pieces
  1563.        ~~~~~~~~~~~~~~~~~~
  1564.            It is possible that the above procedures might not meet your exact
  1565.            needs -- for example, you might have a mixture of files with the
  1566.            same extension in the same subdirectory, but wish to include only
  1567.            some of them. There are step by step instructions for a wide
  1568.            variety of circumstances, included in this package for your
  1569.            convenience. See FWKCS200.REF.
  1570.  
  1571.            For example, after running QIKSTART to set up a "skeleton"
  1572.            for the FWKCS Contents_Signature System...  The following approach
  1573.            is for use in your \CS directory:
  1574.  
  1575.            Basically, what you do is make a worklist, which includes
  1576.            the d:\path\filename.ext for each file which you wish to
  1577.            include. That worklist is a pure ASCII file, which you can
  1578.            manipulate using a word processor.  A text_find function is
  1579.            provided in FWKCS.EXE, which you can use for selecting or
  1580.            excluding material. For example, to include all files listed in
  1581.            WORKTEMP which have an extension .Z*, do
  1582.  
  1583.                FWKCS /t30a7.8f".Z" < worktemp > worklist
  1584.  
  1585.            For a working example, see, for instance, S_SETUP.BAT.
  1586.  
  1587.            FWKCS then accepts the worklist as an input, goes out and
  1588.            gets the information, and makes a contents_signature list.
  1589.            This is then sorted, after which it is indexed.
  1590.  
  1591.            The drives for items #1-4 on the FWKCS /d screen are set by
  1592.            QIKSTART; or, if you wish, you can run SETDRIVE d <enter> , where
  1593.            d without ":" is the drive letter.
  1594.  
  1595.            After you have made your WORKLIST (and, if you did not run
  1596.            QIKSTART, INSTALL, or REPLACE, set your drive, made your \cs
  1597.            subdirectory), and moved into your \cs directory, these lines can
  1598.            be used to set up the contents_signature data base for the
  1599.            FWKCS(TM) Contents_Signature System, including the step of
  1600.            stripping the tail from GIF files (see FWKCS200.REF):
  1601.  
  1602.                fwkcs /t30/1cfjpxz worklist cslist
  1603.                fwkcs cslist cslist1.srt /t30s
  1604.                del cslist
  1605.                fwkcs /t30u
  1606.                fwkcs /t30v
  1607.  
  1608.            (the t30 allows for 30 seconds of network or access delay)
  1609.            Those lines strip tails from GIF files, build the master file
  1610.            using only unique full lines (in case your worklist contained
  1611.            accidental duplicate entries of the exact same
  1612.            d:\path\filename.ext), index it, protect it, and start an empty
  1613.            quick_update file.  Look to see if you have created a CSLIST.NDX,
  1614.            a full CSLIST.SRT, a CSLIST1.NDX, and an empty CSLIST1.SRT.  If
  1615.            any are missing, check items 1, 2, 3, and 4 on the FWKCS /d screen
  1616.            to make sure that you have pointed them to the right place.
  1617.  
  1618.  
  1619.        Removing duplicate zipfiles and plain_files
  1620.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1621.  
  1622.                    Note: if you have inserted material into zipfiles, (not
  1623.                          zipfile comments, but files put inside) and at
  1624.                          different times have made different insertions, then
  1625.                          those different inserts can disguise duplicate
  1626.                          files. In that case, to use these procedures for
  1627.                          recognizing and removing duplicate zipfiles, you
  1628.                          will first need to remove the effects of those
  1629.                          inserts. To remove the inserts themselves, you can
  1630.                          use the TOREJECT procedure, discussed in
  1631.                          FWKCS200.REF in connection with removing non_AV
  1632.                          files from within AV_zipfiles.  (see FWKCS200.REF,
  1633.                          scan for AVONLY , and then read the discussion about
  1634.                          collecting each file line you want to reject into
  1635.                          TOREJECT.TMP and then running TOREJECT.BAS.  This
  1636.                          material is available on_line; you can use CSAM to
  1637.                          get the literature for you.)
  1638.  
  1639.                          If you have a full set of examples of the inserts
  1640.                          you wish to remove, you can put them together in a
  1641.                          single zipfile, e.g., INSERTS.ZIP, and do the
  1642.                          following (as a single command line):
  1643.  
  1644.                          FWKCS /t30/1 INSERTS.ZIP | FWKCS /t30a7.8v"z" |
  1645.                             FWKCS /t30s | FWKCS /t30a7.1w ADLIST.SRT
  1646.  
  1647.                          and then use REMOVADS.BAT in your \CS directory to
  1648.                          make TOREJECT.BAT. After you inspect TOREJECT.BAT,
  1649.                          then, solely at your own risk, you can run it to
  1650.                          remove the inserts. Please make backups before you
  1651.                          run this automatic removal. After removing those
  1652.                          inserts, rebuild your CSLIST.SRT and CSLIST.NDX,
  1653.                          using the automatic procedures provided in your
  1654.                          \CS directory (while in \CS, do  CSM <enter>  for
  1655.                          help).
  1656.  
  1657.                          If inserts which you made in the past now pose a
  1658.                          large_scale problem re finding and deleting
  1659.                          duplicates on your system, it is suggested that
  1660.                          you contact the author for assistance.
  1661.  
  1662.            After you have made CSLIST.SRT, there are some simple steps for
  1663.            finding duplicate files. Working in your \cs subdirectory, run
  1664.  
  1665.                  csdups <enter>
  1666.  
  1667.            After it finishes running, it will advise you that these files
  1668.            have been created:
  1669.  
  1670.              ZCS_DUPS  list of groups of zipfiles with matching
  1671.                        zipfile_contents_signature(s) (zcs).
  1672.  
  1673.              ZCS_DUPS.RPT report tabulating zcs grouping.
  1674.  
  1675.              FCS_DUPS  list of groups of non_zip files with matching
  1676.                        file_contents_signature(s) (fcs).
  1677.  
  1678.              FCS_DUPS.RPT report tabulating fcs grouping.
  1679.  
  1680.              ICS_DUPS  list of groups of files which are contained in
  1681.                        zipfiles, with matching contents_signature(s)
  1682.                        (internal_cs (ics)).
  1683.  
  1684.              ICS_DUPS.RPT report tabulating ics grouping.
  1685.  
  1686.              FICSDUPS  list of groups of plain files and files in
  1687.                        zipfiles, with matching contents_signature(s)
  1688.                        (file_cs + internal_cs (fics)).
  1689.  
  1690.              FICSDUPS.RPT report tabulating fics groupings.
  1691.  
  1692.              UNAVINAV.LST list of non_AV files found in AV_zipfiles.
  1693.  
  1694.            You can take any of those DUPS files listing groups of apparently
  1695.            duplicate files, rename it MULTIS, and skip to 15.2, below.
  1696.  
  1697.            If you wish to split entries in CSLIST.SRT into separate lists of
  1698.            contents_signatures, you could run
  1699.  
  1700.                  cs_split <enter>
  1701.  
  1702.            After it finishes running, it will advise you that these files
  1703.            have been created:
  1704.  
  1705.              ZCS_LIST.SRT  list of zipfile_contents_signature(s) (zcs) for
  1706.                            zipfiles.
  1707.  
  1708.              FCS_LIST.SRT  list of file_contents_signature(s) (fcs) for
  1709.                            non_zip files.
  1710.  
  1711.              ICS_LIST.SRT  list of contents_signature(s) (internal_cs (ics))
  1712.                            for files which are contained in zipfiles.
  1713.  
  1714.              FICSLIST.SRT  list of contents_signature(s) (file_cs +
  1715.                            internal_cs (fics)) for plain files and files in
  1716.                            zipfiles.
  1717.  
  1718.            If you wish to do both the analysis and the split, you can run
  1719.            CSFILKIT <enter>, which does both in one pass, and takes less time
  1720.            than the total for running both CSDUPS and CS_SPLIT separately.
  1721.  
  1722.      15.1  If you wish, rather than using CSDUPS, CS_SPLIT, and/or
  1723.            CSFILKIT, you can use the FWKCS text_find function to select
  1724.            material to process.  For example, to find duplicate
  1725.            zipfiles, do this:
  1726.  
  1727.               FWKCS /t30a7.8f"z" < cslist.srt | fwkcs /t30/1sm > multis
  1728.  
  1729.      15.2  MULTIS produced in step 15.1, above, and the ZCS_DUPS files
  1730.            produced by CSDUPS and CSFILKIT, show groups of zipfiles which
  1731.            have the same zipfile_contents_signature ("zcs"). For an
  1732.            explanation of zcs's, see FWKCS200.REF.
  1733.  
  1734.            The command line in 15.1 also creates a file called MULTCNT.RPT,
  1735.            which shows a multiplicity count -- how many groups there were,
  1736.            for each size of group (how many times were there two zipfiles
  1737.            with the same zcs, how many times were there three with the same
  1738.            zcs, and so on). This corresponds to the ZCS_DUPS.RPT produced by
  1739.            CSDUPS and CSFILKIT.
  1740.  
  1741.            Then, using a word processor, you can overwrite a lower_case "d"
  1742.            into column 17 of each line that contains a file you wish to
  1743.            delete. Be careful to leave that "d" out of one line in each
  1744.            group. For example,
  1745.  
  1746.         column 17
  1747.                 |
  1748. ----------------------------------------------------------------
  1749. 014FF56D   158AC LAWN2.ZIP     z   cs      J:\PQRS
  1750. 014FF56D   158ACdLAWN200.ZIP   z   cs      M:\PQRS
  1751. ----------------------------------------------------------------
  1752. 0249E9AB    486D EQIPVIEW.ZIP  z   cs      H:\PQRS
  1753. 0249E9AB    486DdVIS.ZIP       z   cs      K:\PQRS
  1754.  
  1755.     >>-->  If there is a possibility that you may have changed the mapping of
  1756.            your drive(s), please be sure that they have the same mapping they
  1757.            had when you made CSLIST.SRT, before you carry out the next step.
  1758.  
  1759.            If it has a different name, rename the annotated file MULTIS.
  1760.            Then, at solely your own risk, you can run
  1761.  
  1762.               qbasic /run fwkc17d <enter>   (or use whichever version of
  1763.                                              BASIC is appropriate for your
  1764.                                              system)
  1765.  
  1766.            to delete all the files in the marked lines in MULTIS, and compile
  1767.            a log (DELETED.LOG) of the deleted files. Note that FWKC17D
  1768.            deletes whole zipfiles, and does not selectively remove files from
  1769.            within zipfiles. (For an example of selectively removing files
  1770.            from within zipfiles, see /1 option x, with discussion, in
  1771.            FWKCS200.REF.)
  1772.  
  1773.            Next, if your system has both zipfiles and plain files (e.g., .GIF
  1774.            files), you can do another search for plain files which are
  1775.            duplicates of other plain files, or which are duplicates of files
  1776.            which appear inside zipfiles.
  1777.  
  1778.            (If you wish to save your MULTCNT.RPT, do so before it gets
  1779.            overwritten in the next example. If you got here by running CSDUPS
  1780.            or CSFILKIT, the .RPT files were already given different names and
  1781.            saved.)
  1782.  
  1783.            If you did not use CSDUPS or CSFILKIT, you can find this form of
  1784.            duplication, by doing this:
  1785.  
  1786.               FWKCS /t30a7.8v"z" < cslist.srt | fwkcs /t30/1sm > multis
  1787.  
  1788.            This makes a new MULTIS and a new MULTCNT.RPT, which correspond to
  1789.            FICSDUPS and FICSDUPS.RPT produced by CSDUPS and CSFILKIT.  If you
  1790.            have removed duplicate zipfiles as a result of the zcs matchings
  1791.            (keeping one out of each matching set), and have not yet made a
  1792.            new CSLIST.SRT, then apparent matches found between files inside
  1793.            different zipfiles may no longer be relevant.
  1794.  
  1795.            But, matches found between non_zip files, or between non_zip files
  1796.            and files which appear inside zipfiles, still provide a correct
  1797.            basis for deciding to remove various of those non_zip files (the
  1798.            ones which have "f cs" in their line).
  1799.  
  1800.            So, you can use the same technique described above, but this time
  1801.            for removing selected ones of those non_zip files.
  1802.  
  1803.            After you do that, you should probably make a new CSLIST.SRT.
  1804.  
  1805.            To help you make a new CSLIST.SRT, you can choose one of these
  1806.            two:
  1807.  
  1808.                  NEWCSL n <enter>
  1809.  
  1810.                         n = 1 include only zipfiles with extension .Z*.
  1811.  
  1812.                             2 include only zipfiles, with any or no
  1813.                               extension, whether self_extracting or not.
  1814.  
  1815.                             3 include all accessible non_directory files
  1816.                               (this can include hidden and system
  1817.                               files).
  1818.  
  1819.                  to create all four cslist*.* files,
  1820.                  on a system with non_overlapping paths,
  1821.                  searching drives c: - z:,
  1822.  
  1823.              OR
  1824.              ~~
  1825.  
  1826.                  S_NEWCSL N q r s t v - .Z .GIF :\UP\ x .SYS "<enter>"
  1827.                  S_NEWCSL N q r s t v - : x \DOS\ "<enter>"
  1828.  
  1829.                    N = 1 include only zipfiles, with any or no extension,
  1830.                          whether self_extracting or not.
  1831.  
  1832.                        2 include all accessible non_directory files (this can
  1833.                          include hidden and system files).
  1834.  
  1835.                  q r s t v  are examples of single letters designating drives
  1836.                             to search.
  1837.  
  1838.                  the " - " is literal, to separate the list of drives from
  1839.                            the list of extensions or strings.
  1840.  
  1841.                  .Z .GIF :\UP\ in CAPITAL LETTERS, are examples of file
  1842.                          extensions with ".", or other strings, to include --
  1843.                          do not use more than one path to reach the same
  1844.                          physical file.
  1845.  
  1846.                          Note: Under some circumstances, you may find it
  1847.                                easier to specify a set of file extension(s)
  1848.                                or other search string(s) which results in
  1849.                                some d:\path\filename.ext's being included
  1850.                                more than once.
  1851.  
  1852.                             If each file is reached by only one path (that
  1853.                                is, there is not any case where the same
  1854.                                physical file is reached via 2 paths),
  1855.  
  1856.                                then, in S_NEWCSL, FWKCS deletes the extra
  1857.                                      references.
  1858.  
  1859.                  ":" in " - : " means "all non_directory files" (may include
  1860.                          hidden/system).
  1861.  
  1862.                  "x" in lower_case is literal, followed in CAPITAL LETTERS by
  1863.                          exclusion list.
  1864.  
  1865.                          For example, if your system keeps certain files open
  1866.                          and does not permit read_only access to them, you
  1867.                          can exclude them. If they are all located in a
  1868.                          single subdirectory, and you do not wish to include
  1869.                          any other files from that subdirectory, you could
  1870.                          exclude the whole subdirectory.
  1871.  
  1872.                          If you have a multinode bulletin board system, and,
  1873.                          for example, each node has its own subdirectory
  1874.                          named J:\NODE001 ... J:\NODE060, you might be able
  1875.                          to efficiently exclude all of those subdirectories
  1876.                          by   x J:\NODE0
  1877.  
  1878.  
  1879.                  to create all four cslist*.* files,
  1880.                  including specified drive(s) (a: - z:)
  1881.                    and files with specified extension(s)
  1882.                    and/or strings.
  1883.  
  1884.            To use one of these two .BAT programs, first make the \cs
  1885.            subdirectory your current (default) directory. Then call the
  1886.            program.
  1887.  
  1888.            For on_line help, just type the name of either of these two
  1889.            programs, then  /*  , and then press <enter>.
  1890.  
  1891.  
  1892.        Revising the four CSLIST*.* files
  1893.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1894.  
  1895.            In looking at duplicates, you may have noticed that an ongoing
  1896.            series of programs from the same author often includes material
  1897.            which has not changed from one release to the next. After the
  1898.            author has issued a better version of a program, you may choose to
  1899.            remove the old one from your system. But, you don't want to lose
  1900.            the ability to recognize the old material if it arrives in a
  1901.            different guise.
  1902.  
  1903.            There are two .BAT programs included in FWKCS200.ZIP, which
  1904.            provide for revising the four CSLIST*.* files. You can choose one
  1905.            which matches your initial set_up, or make a change at this time.
  1906.  
  1907.                REVCSL.BAT     to revise all four cslist*.* files,
  1908.                               on a system with non_overlapping paths,
  1909.                               searching drives c: - z:,
  1910.  
  1911.                               including only zipfiles with .Z*
  1912.                                 extension(s),
  1913.                               OR
  1914.                               including only zipfiles with any or no
  1915.                                 extension(s), self_extracting or not,
  1916.                               OR
  1917.                               including all non_directory files (this
  1918.                                 can include hidden and system files),
  1919.  
  1920.                          AND  preserving unique prior contents_signatures,
  1921.                               deleting obsolete d:\path specifications.
  1922.  
  1923.  
  1924.                S_REVCSL.BAT   to revise all four cslist*.* files,
  1925.                               including specified drive(s) (a: - z:)
  1926.                                 and files with specified extension(s)
  1927.                                 or strings (can specify inclusion /
  1928.                                 exclusion),
  1929.                               optionally including only zipfiles, any
  1930.                                 or no extension, self_extracting or not,
  1931.                               preserving unique prior contents_signatures,
  1932.                               deleting obsolete d:\path specifications.
  1933.  
  1934.                               Note: Under some circumstances, you may
  1935.                                     find it easier to specify a set of
  1936.                                     file extension(s) or other search
  1937.                                     string(s) which results in some
  1938.                                     d:\path\filename.ext's being
  1939.                                     included more than once.
  1940.  
  1941.                                  If each file is reached by only one
  1942.                                     path (that is, there is not any
  1943.                                     case where the same physical file
  1944.                                     is reached via 2 paths),
  1945.  
  1946.                                     then, in S_REVCSL, FWKCS deletes
  1947.                                           the extra references.
  1948.  
  1949.            For on_line help, just type the name of either of these two
  1950.            programs, then  /*  , and then press <enter>.
  1951.  
  1952.     >>-->  To use these programs, you must be in your \cs subdirectory.
  1953.  
  1954.            Except as noted, each of these two programs
  1955.  
  1956.                consolidates CSLIST1.SRT into CSLIST.SRT,
  1957.  
  1958.                searches the system to make a worklist of files to include.
  1959.  
  1960.                Note: S_REVCSL performs the additional step of deleting any
  1961.                      redundant, exactly duplicate, full lines of
  1962.                      d:\path\filename.ext from the worklist. (This can
  1963.                      simplify the design of the search, as noted above.)
  1964.  
  1965.                searches the system to build a new CSLIST,
  1966.  
  1967.                searches the prior CSLIST for any contents_signature(s) which
  1968.                  do not belong to files currently found on the system,
  1969.  
  1970.                merges those unique contents_signatures into the new
  1971.                  CSLIST.SRT,
  1972.  
  1973.                indexes the resulting new, combined CSLIST.SRT,
  1974.  
  1975.                protects the new CSLIST.NDX and CSLIST.SRT,
  1976.  
  1977.                restarts the quick_update files CSLIST1.SRT and CSLIST1.NDX.
  1978.  
  1979.            The prior material is saved without the d:\path pointing to where
  1980.            the file was once found, because that would probably not be
  1981.            correct.  Because the ":" is missing from those lines which were
  1982.            carried forward in this way, you can collect those lines (and
  1983.            omit the x_flagged lines without ":") by using the FWKCS
  1984.            text_find:
  1985.  
  1986.   FWKCS /t30a7.8v":" < cslist.srt | FWKCS /t30a7.8v"x" > cs_prior.srt  <enter>
  1987.  
  1988.            This information is also available to a user, via Lookup.
  1989.            (See LOOKUP.DOC)
  1990.  
  1991.  
  1992.        Customizing the messages sent from FWKCS to BBS users
  1993.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1994.  
  1995.            Note to Sysops:
  1996.  
  1997.            FWKCS accepts message material which you prepare in advance.
  1998.            You can use this to create messages in which you can control
  1999.            graphics, use personal names via the PCBoard @codes, select
  2000.            messages of your own, and/or send information provided by
  2001.            FWKCS in a framework of your own design.
  2002.  
  2003.            Thought has gone into keeping key parts of the FWKCS
  2004.            messages short, partly out of respect for people's time and
  2005.            the fact that people may be calling long distance.
  2006.  
  2007.            However, over the years, you may have devoted part of your
  2008.            efforts to creating a special, personal environment which
  2009.            you and the users of your board now find pleasant,
  2010.            comfortable, and productive. And, you may have specific
  2011.            instructions, etc., to add, in order to help people use your
  2012.            board.  For at least these reasons, you may wish to
  2013.            customize and personalize the messages.
  2014.  
  2015.            If this interests you, see FWKCS200.REF, "Customizing
  2016.            messages to users:", under auxiliary function /a5, option h.
  2017.  
  2018.            A program is included, MSGS.BAT, which makes dummy files for
  2019.            all the messages which you can provide. Each of the files
  2020.            contains its name. To see which files to put your material
  2021.            in, upload a file locally and look at the "message" which
  2022.            would be sent to the user (e.g., under PCBoard, PCBPASS.TXT
  2023.            or PCBFAIL.TXT).  That "message" will tell you the names of
  2024.            the files to use for that case.  You can then remove from
  2025.            each such file the line which says which file it is, and put
  2026.            in your message (including graphics, PCBoard @codes, etc.).
  2027.  
  2028.            A Local Upload Test program is included, LUT.BAT, which you
  2029.            can use for locally viewing your messages. The messages
  2030.            prepared for local use by FWKCS under option x0 do not
  2031.            contain @codes generated under PCBTEST by FWKCS for PCBoard
  2032.            use, but will contain any which you have provided in any
  2033.            parts used in making the final output.
  2034.  
  2035.            When you are installing FWKCS, if you run the automatic
  2036.            installation procedures (which run CSAMACS to set up the
  2037.            \CSA Contents_Signature Activity place), or if you run
  2038.            CSAMACS directly to set up \CSA, you will find a copy of
  2039.            MSGS.BAT in the subdirectory \CSA\MSG, where your message
  2040.            material goes.
  2041.  
  2042.            Before you customize any of the messages, you can run FWKCTEST,
  2043.            and see on the screen many kinds of messages to users which FWKCS
  2044.            can produce.  During the run of FWKCTEST, these messages are also
  2045.            collected in UPLOADS.RPT.  Each message in UPLOADS.RPT also
  2046.            contains special notations as to where customizing material of
  2047.            yours would appear.  These cases are explained under Auxiliary
  2048.            Function 5, option h.
  2049.  
  2050.            In designing your messages, please bear in mind that there
  2051.            are people who are blind, and who use relatively simple
  2052.            computer reading software which may not respond well to
  2053.            graphics.  They are welcome and productive members of our
  2054.            computer networks.  They, and others, may choose an OFF
  2055.            setting for the graphics mode (e.g., on PCBoard).
  2056.  
  2057.        Generic interface for use with various bulletin board systems
  2058.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  2059.            BBSTART.BAT contains notes to help you revise it to fit
  2060.            various bulletin board systems. It sets up the environment
  2061.            for one node, calls the BBS program, reloads the BBS program
  2062.            in the event that it exited with errorlevel 1 or greater, else
  2063.            cleans up that node's environment before ending.
  2064.  
  2065.            SCANFILE.BAT contains notes for editing it, including how to
  2066.            change it for use in a client/host configuration (changes in
  2067.            two lines provided; rem one out, and remove the rem from the
  2068.            left end of the other). Scanfile accepts a single command_
  2069.            line input, which provides the d:\path\filename.ext of the
  2070.            file to be tested.
  2071.  
  2072.            For detailed information, see the two programs themselves.
  2073.  
  2074.            These two programs, together, can be edited in simple ways to
  2075.            let a wide variety of bulletin board systems use all three
  2076.            FWKCS configurations for testing uploads:  direct testing,
  2077.            split testing, and client/host configuration.
  2078.  
  2079.            As shipped, the two programs are configured for using FWKCS
  2080.            with Mustang Software, Inc.,'s Wildcat.
  2081. ----------------------------------------------------------------------------
  2082.  
  2083.     [ ] 16. If you are running a bulletin board system, check the following
  2084.                new programs as appropriate (any prior copies there of these
  2085.                programs will have been renamed *.OLD), and make any changes
  2086.                needed:
  2087.  
  2088.            [ ] If you are running PCBoard, see the new PCBTEST.BAT.
  2089.            [ ] If you are running a different bulletin board system, see
  2090.                    BBSTART.BAT and SCANFILE.BAT.
  2091.  
  2092.     [ ] 17. If you wish to add a contents_signature line to the text file
  2093.                description of uploaded files, type  ADD_G /* <enter>  for
  2094.                instructions. This signature can be used by other systems
  2095.                running FWKCS to avoid downloading duplicate files or packages
  2096.                from your board, even though the name may be different.
  2097.  
  2098.     [ ] 18. FWKCS provides for the use of prespecified paths for rapidly
  2099.                reaching the executable files PKZIP, PKUNZIP, LIST, and SCAN.
  2100.                If you wish to tell FWKCS which specific drive:\path\ to use
  2101.                for each, here are two ways to do it:
  2102.  
  2103.              [ ] Indirect method: use GET_DFLT.BAT. This is the preferred
  2104.                                   method for making changes. For
  2105.                                   instructions, type GET_DFLT /* <enter>.
  2106.  
  2107.                                   You may wish to copy the modified copy of
  2108.                                   FWKCS.EXE also to your \CS directory.
  2109.                                   Remember to do  ATTRIB -r \CS\FWKCS.EXE
  2110.                                   before you overwrite it, and
  2111.                                   ATTRIB +r \CS\FWKCS.EXE  afterward to
  2112.                                   protect it.
  2113.  
  2114.              [ ] Direct method (press the "enter" key after each command
  2115.                     line); working in your \CSA directory:
  2116.  
  2117.                            attrib fwkcs.exe -r
  2118.                            copy fwkcs.exe *.old
  2119.                            fwkcs /d
  2120.  
  2121.                     That last command brings up a screen displaying a set of
  2122.                     internally stored commands. (The d:\path\filename for the
  2123.                     copy of FWKCS which you are changing is displayed near
  2124.                     the bottom of the screen. This helps avoid changing the
  2125.                     wrong copy of the program, especially on a network.) The
  2126.                     lines you want to change are 5, 6, 7, and 8. To do this,
  2127.                     type in each of the following command lines, putting in
  2128.                     the correct drive letter and path in place of the
  2129.                     "d:\path\" for each program, respectively, and end each
  2130.                     command line by pressing the ENTER key:
  2131.  
  2132.                            fwkcs d:\path\pkzip.exe /d5
  2133.                            fwkcs d:\path\pkunzip.exe /d6
  2134.                            fwkcs d:\path\list.com /d7
  2135.                            fwkcs d:\path\scan.exe /d8
  2136.                            fwkcs /d
  2137.  
  2138.                     That last command brings up the display again.  Look at
  2139.                     lines numbered 5, 6, 7, and 8 (each line is labeled at
  2140.                     the left edge of the display), and check the entry which
  2141.                     appears on the right side of the "=" sign. If there is an
  2142.                     error, you can set that entry again (the instructions
  2143.                     also appear near the bottom of the screen).  To reset the
  2144.                     entry on the right side of the "=" the same as it appears
  2145.                     on the left side, use FWKCS /dN <enter> , where N is that
  2146.                     line's single digit at the left edge of the display.
  2147.                     When you have those four entries the way you want them,
  2148.                     do
  2149.                            attrib fwkcs.exe +r
  2150.                            del fwkcs.old
  2151.  
  2152.                     (Screen /d also shows "macros" A-I. There is also a /d!
  2153.                     screen, with macros J-Z. All of this is explained in the
  2154.                     main reference, FWKCS200.REF, discussed in step 22,
  2155.                     below. When you get there, look up "Format 3", "d and d!",
  2156.                     and "macros", under "The FWKCS command_line" in the Table
  2157.                     of Contents.)
  2158.  
  2159.                     You can copy this modified copy of FWKCS.EXE to use in
  2160.                     your \CS directory, as described under "Indirect method",
  2161.                     above.
  2162.  
  2163.     [ ] 19. To make the .BAT, .COM, and .EXE programs in the \CSA directory
  2164.                generally available on your system, put  drive:\CSA  on your
  2165.                path, replacing "drive" with the letter for the drive the \CSA
  2166.                directory is on. But first do a directory listing for *.bat,
  2167.                *.com, and *.exe, and see if you may need to change the names
  2168.                of programs elsewhere on your system. For unambiguous
  2169.                execution, it is usually better to put  drive:\CSA  at the
  2170.                beginning of your PATH.
  2171.  
  2172.                Note: for safety, do not put the \CS directory on your path,
  2173.                      just the \CSA. The \CS directory contains the data base,
  2174.                      and contains powerful system maintenance programs,
  2175.                      including the ability to revise and rebuild the data
  2176.                      base while the system is up and running and handling
  2177.                      traffic. (that's done using REVCSL and S_REVCSL, which
  2178.                      appear as examples in step 22, below)
  2179.  
  2180.     [ ] 20. If this is the first time you have installed FWKCS, and you built
  2181.             a contents_signature data base (e.g., you did not use QIKSTART),
  2182.             then
  2183.               to remove duplicate files,
  2184.                   change to your \CS directory,
  2185.                   find the README.TXT section in step 15, above, called
  2186.                      "Removing duplicate zipfiles and plain_files"
  2187.                   read carefully all the way through that section, and
  2188.                   follow the instructions given there.
  2189.  
  2190.     [ ] 21. Go to your \CS directory and run CHKDSK CSLIST*.* , to see if the
  2191.             files are contiguous. If they are fragmented into non_contiguous
  2192.             parts, and if your operating system permits defragmentation, then
  2193.             run a suitable defragmentation program, e.g., Norton's Speed Disk
  2194.             or equivalent.
  2195.  
  2196.     [ ] 22. Extensive on_line help is available in these ways; try each of
  2197.                them out so that you know how to get help later:
  2198.            [ ] go to the \CSA directory, and type  CSAM <enter>. Press D to
  2199.                go to the main directory, and explore what it offers.
  2200.            [ ] go to the \CS directory, type  CSM <enter>, and explore what
  2201.                it offers.
  2202.               CSAM and CSM are convenient as reminders of some of the
  2203.               programs available, and what they do. You can call programs
  2204.               directly for help (CSAM and CSM were doing that):
  2205.            [ ] Except for PCBTEST.BAT, every .BAT, .COM, and .EXE program
  2206.                automatically installed in setting up the FWKCS system can be
  2207.                asked for direct help, by typing the program's NAME /* <enter>.
  2208.                This puts the help right on the screen, usually with a "Usage"
  2209.                example you can use as a guide while you type in your input.
  2210.                For example, in the \CSA Contents_Signature Activity place,
  2211.                being careful to use the /* , see:
  2212.                   [ ] GET /* <enter>       find other copies of a file
  2213.                   [ ] Y /* <enter>         find copies, accession if any new
  2214.                   [ ] MSG\MSGS /* <enter>  to customize messages to users
  2215.                   [ ] DO_HOSTQ /* <enter>  run as host, do work on queue
  2216.                   [ ] DO_BLOG /* <enter>   do backlog in split_test mode
  2217.                   [ ] DOZIZ0 /* <enter>    process zip in zip from \CSA\ZIZ
  2218.                   [ ] SPLITEST /* <enter>  configure for split test
  2219.                   [ ] LOOKUP /* <enter>    for remote lookup
  2220.                   [ ] RCROSREF /* <enter>  to get remote cross_references
  2221.                   [ ] BANAV /* <enter>     ban a specific AV stamp
  2222.                   [ ] LISTAV /* <enter>    enter a specific AV as OK
  2223.                   [ ] TESTAV /* <enter>    test status of an AV stamp
  2224.                   [ ] WIPE /* <enter>      designate a file for automatic
  2225.                                              removal when not protected by AV
  2226.                   [ ] EXCLUDE /* <enter>   to block commercial files, etc.
  2227.                   [ ] BBSTART /* <enter>   part of generic BBS interface
  2228.                   [ ] SCANFILE /* <enter>  file tester, generic BBS
  2229.                   [ ] LUT /* <enter>       local upload test
  2230.                   [ ] FWKHI /* <enter>     hexadecimal etc. input for .BATs
  2231.                   [ ] FWKDG200 /* <enter>  to make DIRGUIDE.TXT
  2232.                   [ ] FWKDG /* <enter>     file collection, time logging, etc
  2233.                   [ ] FWKFT /* <enter>     to copy from near tail of big file
  2234.                   [ ] FWKQA /* <enter>     to quickly append short file to
  2235.                                              long file
  2236.                   [ ] CRLF0 /* <enter>     to format text_block files, e.g.,
  2237.                                              for sorting giant files.
  2238.                   [ ] FWKCS /* <enter> brings up a list of commands for
  2239.                       specific help. Try out each one now, or come back to
  2240.                       them later. (/** is discussed below.)
  2241.                   [ ] FWKCSC /* <enter> brings up a list of commands for
  2242.                       specific help re operation as a client under FWKCS.
  2243.                   etc;
  2244.                under the \CSA is the \CSA\P Process area; do  cd p <enter>,
  2245.                and then see
  2246.                   [ ] DOEM /* <enter>      annotated template for batch local
  2247.                                              uploading
  2248.                   [ ] ZIZDOEM /* <enter>   annotated template for batch local
  2249.                                              uploading of zip in zip from
  2250.                                              \CSA\ZIZ
  2251.                   [ ] DOZIZ3 /* <enter>    annotated template for revising
  2252.                                              file descriptions
  2253.                and, in the \CS directory, see:
  2254.                   [ ] REVCSL /* <enter>    rebuild data base, few options
  2255.                   [ ] S_REVCSL /* <enter>  rebuild data base, many options
  2256.                   [ ] FLAG_REV /* <enter>  revise the eXclude and Wipe flags
  2257.                   [ ] XCLEANUP /* <enter>  clean out files based on matching
  2258.                                              x_flagged contents_signatures
  2259.                   [ ] CSFILKIT /* <enter>  used in finding duplicate files
  2260.                   [ ] FWKDG /* <enter>     used in system file collection etc
  2261.                   [ ] REMOVADS /* <enter>  removing ads from file collection
  2262.                   [ ] DSA /* <enter>       directory spacing adjust
  2263.                   [ ] FWKCST /* <enter>    contents_signature test
  2264.                   [ ] FWKCSS /* <enter>    contents_signature spectrum
  2265.                   [ ] SPECTRUM /* <enter>  calculate approx. system errorload
  2266.                   etc.
  2267.                       Note: XCLEANUP and FLAG_REV can be used with anti-
  2268.                             piracy resource material to help you protect your
  2269.                             system from becoming involved in software piracy
  2270.                             (see "Note 2:" near end of this file for where to
  2271.                             get that resource material).
  2272.  
  2273.            [ ] FWKCS /** <enter> calls LIST to display FWKCS200.REF, the main
  2274.                reference file, which has a detailed Table of Contents (after
  2275.                the Preface). If necessary, FWKCS searches your PATH for both
  2276.                LIST and FWKCS200.REF. If \CSA is not on your path, call this
  2277.                while in your \CSA directory. (If FWKCS doesn't find LIST, it
  2278.                presents material sequentially, which is not convenient with a
  2279.                file that big.)
  2280.  
  2281.                When you find an item in the Table of Contents, you can have
  2282.                LIST search for "page n", where n is the 1, 2, or 3 digit page
  2283.                number, and then use the up and down arrows etc. to move
  2284.                around in that part of the file. LIST lets you copy parts of
  2285.                the file to your printer or to another file. If you wish, you
  2286.                can copy all of FWKCS200.REF to your printer for your own use,
  2287.                but using it on_line is often more convenient (with a
  2288.                multitasking system, you can open another thread and window,
  2289.                and have the reference material on the screen while you work
  2290.                in another window).
  2291.  
  2292.     [ ] 23. This step explains adding a "node ID" for each processor or
  2293.                multitask thread (window). If your system has only a single
  2294.                CPU, with no multitasking and no automatic procedures that
  2295.                would call FWKCS (such as running a bulletin board system),
  2296.                this step is optional (but may be interesting).
  2297.  
  2298.                Different network and multitask systems treat temporary files
  2299.                in different ways.  Some operate better when temporary files
  2300.                are given the same names again and again.  For this reason,
  2301.                except in special situations, conflict is preferably avoided
  2302.                by using each node's identification as part of that node's set
  2303.                of names for temporary files.  The FWKCS system looks for the
  2304.                environment variable FWKNODE=ccc, where "ccc" can be any three
  2305.                DOS filename characters; this variable should be set in each
  2306.                node's environment, using  SET FWKNODE=ccc  with a different
  2307.                set of characters, respectively, for each node (if running
  2308.                under Novell, Inc.'s network system, use their syntax instead
  2309.                of this).  This node ID is case insensitive; e.g., aBc is
  2310.                treated as the same as ABC.
  2311.  
  2312.                Reusing the same set of names for temporary files also helps
  2313.                in automatically cleaning up after an interruption, because
  2314.                the files are routinely deleted after their next use.
  2315.  
  2316.                Clark Development Company's PCBoard passes along its node ID
  2317.                when it shells to call other programs, and FWKCS can read that
  2318.                ID from the environment. For use with Mustang Software, Inc.'s
  2319.                Wildcat, set the node ID in BBSTART.BAT, and use SCANFILE.BAT,
  2320.                both of which are normally installed in the \CSA directory.
  2321.  
  2322.                BBSTART.BAT and SCANFILE.BAT are designed as templates for
  2323.                more general interfacing of FWKCS with other bulletin board
  2324.                systems, and may be edited as needed for that purpose; their
  2325.                default settings are for use with Wildcat.
  2326.  
  2327.     [ ] 24. If you are running a bulletin board system, upload some files to
  2328.                your board to test your setup.
  2329.                [ ] Change the name of one and upload it again.
  2330.                [ ] Take files from different zipfiles already uploaded,
  2331.                      rename them, make a zipfile out of the renamed files,
  2332.                      and upload the combination zipfile.
  2333.                [ ] Use LIST to look at \CSA\FWKUPLD.LOG.
  2334.                [ ] Do FWKCS /**, search for "upload log, format and contents",
  2335.                    (it appears first in the Table of Contents, then in a
  2336.                    forward reference, and then where it is used as a header,
  2337.                    followed by several pages of detailed description).
  2338.                Later, do step 31, and use LIST to look at the FWKUPLD.LOG
  2339.                created there, and at the UPLOADS.RPT file, and to look in the
  2340.                subdirectories, etc. Some of those cases might not turn up on
  2341.                your board. Note that different settings, changed during the
  2342.                test run, result in successive files being treated in
  2343.                different ways.
  2344.  
  2345.     [ ] 25. Local bulk uploading of files: FWKLOCAL.BAS, installed in the
  2346.                \CSA directory, is used for this. It may be more convenient to
  2347.                copy it to a separate workarea, for ease in keeping track,
  2348.                cleaning up, etc.  For details, see FWKCS /**, and search for
  2349.                "4. L" to find "4. Locally processing batches of files as
  2350.                uploads", first in Table of Contents, next as a header,
  2351.                followed by detailed instructions.
  2352.  
  2353.     [ ] 26. System maintenance: some of this you can set up now, and some of
  2354.                this is for future use. This is for bulletin board use, and
  2355.                for similar or related automatic operations.
  2356.  
  2357.            [ ] SCAN has been getting bigger. If SCAN begins to require more
  2358.                  free memory than is available when FWKCS calls SCAN,
  2359.                do  FWKCS /d! <enter> ,
  2360.                look at line X (as labeled at the left side of the screen),
  2361.                If line X does not contain an entry  #V;  then go to your
  2362.                  \CSA directory and do
  2363.  
  2364.                    attrib fwkcs.exe -r
  2365.                    fwkcs [x]#v; /dx
  2366.                    attrib fwkcs.exe +r
  2367.                    fwkcs /d!
  2368.  
  2369.                    so that the  #V;  option entry appears near the end of
  2370.                    the list of options on line X.  Option  #V;  tells
  2371.                    FWKCS.EXE to leave only 8128 bytes of itself in memory
  2372.                    when it calls SCAN.  For additional information, see
  2373.                    FWKCS /** <enter> , and search for "Swapping most"
  2374.                    (without the quotation marks).
  2375.  
  2376.                If you already have option #V; and do not have enough space
  2377.                for SCAN, you may need to use an operating system which
  2378.                provides more low memory in a DOS session
  2379.  
  2380.                      (for example, IBM OS/2 2.11 can provide more than
  2381.                      710,000 bytes of free low memory in a DOS session, if
  2382.                      you set the DOS session VIDEO_MODE_RESTRICTION to CGA
  2383.                      and use RMSIZE=640 in your CONFIG.SYS)
  2384.  
  2385.                or run in the client/host configuration, with FWKCS in host
  2386.                mode running the testing on a different machine or a
  2387.                different thread which provides the needed RAM (including
  2388.                possibly running it in a different DOS session under OS/2).
  2389.  
  2390.            [ ] When FWKCS.EXE encounters a problem and reports an error, it
  2391.                tries to write it to FWKCS.ERR in its current directory,
  2392.                creating a new file if it does not find the file there.  If a
  2393.                copy of FWKCS.ERR exists in a directory which is APPENDed,
  2394.                then FWKCS may be misled into thinking that that file is in its
  2395.                current directory, and append its error message to that other
  2396.                file.  There can be benefits from being able to find where an
  2397.                error actually took place.  For this reason, don't leave an
  2398.                FWKCS.ERR file in any directory on which APPEND is used. As a
  2399.                safety precaution, you can create an empty FWKCS.ERR file in
  2400.                the same directory where work is being done, by doing
  2401.                  rem > fwkcs.err <enter>
  2402.                there. Then, that empty file would be found locally and the
  2403.                error appended to it, rather than to one in a remote directory
  2404.                on which APPEND was used.  FWKCSC.COM behaves similarly,
  2405.                writing its error reports to FWKCSC.ERR.
  2406.            [ ] As part of system maintenance, occasionally run an automatic
  2407.                search for FWKCS.ERR and FWKCSC.ERR, see what any non_zero_
  2408.                length ones have in them, and do the necessary repairs and
  2409.                clean_up (if they are deliberately there, reset them to zero
  2410.                length, as above).
  2411.  
  2412.                -----------------------
  2413.  
  2414.            [ ] Normally keep CSLIST1.SRT below 50KB long, preferably less, so
  2415.                as to keep the update process conveniently fast. There are two
  2416.                options used for automatically consolidating CSLIST1.SRT into
  2417.                the main data base, CSLIST.SRT.  The older one is
  2418.                    FWKCS /t30v     (reVise)
  2419.                (The /t30 allows for 30 seconds network or "collision" delay.)
  2420.                It has one advantage:
  2421.                1. it does a merge_in_place, followed by indexing, etc.  The
  2422.                   total amount of free space required depends mostly on the
  2423.                   length of CSLIST1.SRT, rounding the sum of CSLIST.SRT +
  2424.                   CSLIST1.SRT up to the file block size required to hold that
  2425.                   total on your system.  For example, a 30K CSLIST1.SRT can
  2426.                   be merged into a 30 Meg CSLIST.SRT using only a free space
  2427.                   of about 30K.
  2428.                It has two important disadvantages:
  2429.                1. the system is tied up while this is going on;
  2430.                2. a power interruption could result in a corrupted main data
  2431.                   base.
  2432.                The /v option lends itself to use on a RAMdisk.
  2433.  
  2434.                The more recent revise option (in use for more than a year), is
  2435.                    FWKCS /t120vc10000    (reVise Concurrent)
  2436.                It has three advantages:
  2437.                1. it can be done using one processor on a network, or one
  2438.                   thread on a multitasking system, while the system is up and
  2439.                   running and handling traffic;
  2440.                2. if there is a power interruption, the main data base is not
  2441.                   damaged;
  2442.                3. the decimal digits after the  vc  set the threshold: if
  2443.                   len(CSLIST1.SRT) is not bigger than that number, FWKCS
  2444.                   skips the operation and returns to the command line.
  2445.                It has one disadvantage:
  2446.                1. the amount of free space required is
  2447.                    len(CSLIST.SRT) + len(CSLIST.NDX) + 2*len(CSLIST1.SRT).
  2448.            [ ] This is the preferred method used on large systems. For system
  2449.                maintenance, it is recommended that you run this on a daily
  2450.                basis:
  2451.  
  2452.                          rem  any drive mappings go here
  2453.                          fwkcs /t120vc10000
  2454.  
  2455.                If your system is multitasking or uses multiple processors on
  2456.                a network, this can be done while the system is up, and is in
  2457.                effect "transparent" to users. What they see is that the
  2458.                system response in accessioning new files stays fast.
  2459.  
  2460.                -----------------------
  2461.  
  2462.            [ ] During normal operation of a bulletin board system, etc.,
  2463.                some files are retired from use, and others are moved to
  2464.                different locations on the system. Two maintenance procedures,
  2465.                REVCSL.BAT and S_REVCSL.BAT, are provided for
  2466.                   rebuilding the data base,
  2467.                   correcting the d:\path\ statements for moved files still on
  2468.                      the system,
  2469.                   making sure that those present are included,
  2470.                   carrying forward all unique contents_signatures from files
  2471.                      retired from the system,
  2472.                   carrying forward all contents_signatures flags (the
  2473.                      exclusion flag, the handling of AV stamps, deletion of
  2474.                      ads, etc.),
  2475.                   when used on a multitasking system, or a network with
  2476.                      multiple processors, either of these two procedures can
  2477.                      be run while the system is up and running and handling
  2478.                      traffic, bringing the new, rebuilt data base on line in
  2479.                      a way which is in effect transparent to users.
  2480.  
  2481.                It is recommended that you run one of those two programs
  2482.                whenever you reorganize your system, or move or retire many
  2483.                files; and routinely on approximately a monthly basis. To do
  2484.                this, it is suggested that you prepare a .BAT program which
  2485.                sets up whatever network configuration you normally use, and
  2486.                calls REVCSL or S_REVCSL.  If you installed FWKCS by using
  2487.                option 4 on the Menu for Installation, then you may find
  2488.                REVCSL sufficient for your needs. If you used option 5, or if
  2489.                your system has become more complex, S_REVCSL may better serve
  2490.                your needs.  Because of the time interval between running that
  2491.                special .BAT program, it is suggested that you check it each
  2492.                time before you use it, and make any changes needed.
  2493.  
  2494.            [ ] A general form for that .BAT program is
  2495.  
  2496.                   rem  any drive mappings go here
  2497.                   rem  then change to whatever drive holds \CS
  2498.                   d:
  2499.                   cd \cs
  2500.                   attrib -r sysmaint.log
  2501.                   echo --------------------------------------- >> sysmaint.log
  2502.                   fwkdg /w1 >> sysmaint.log
  2503.                   echo  starting data base revision >> sysmaint.log
  2504.                   rem  the example used here is REVCSL;
  2505.                   rem  you could use S_REVCSL with its detailed command line.
  2506.                   call revcsl 1
  2507.                   fwkdg /w1 >> sysmaint.log
  2508.                   echo  finished data base revision >> sysmaint.log
  2509.                   attrib +r sysmaint.log
  2510.  
  2511.                            Notes:
  2512.  
  2513.                            If essentially all the files on your system which
  2514.                               you are going to include in the revised data
  2515.                               base are already included in the current data
  2516.                               base (e.g., they were routinely added since
  2517.                               your first installation or last system
  2518.                               revision), and the total length of your
  2519.                               CSLIST.SRT and CSLIST1.SRT together is more
  2520.                               than 100 KB, then allow an amount of free
  2521.                               workspace of at least
  2522.  
  2523.                                    4*len(CSLIST.SRT) + 4*len(CSLIST1.SRT)
  2524.  
  2525.                               located on the same drive that holds your \CS
  2526.                               directory.  The revised CSLIST.SRT typically
  2527.                               takes up no more space than the prior
  2528.                               CSLIST.SRT and CSLIST1.SRT together. It is
  2529.                               often smaller than before, for these reasons:
  2530.  
  2531.                                 all unique contents_signatures of retired
  2532.                                 files are carried forward, but their d:\path
  2533.                                 information is dropped as obsolete;
  2534.  
  2535.                                 there are some files which often appear in
  2536.                                 multiple copies, because they are packaged
  2537.                                 with executable code to support operation;
  2538.                                 those files which were present in the retired
  2539.                                 packages and are currently present elsewhere
  2540.                                 on the system are not unique, so the entries
  2541.                                 corresponding to their presence in the
  2542.                                 retired packages are dropped;
  2543.  
  2544.                                 the contents_signature for each file which
  2545.                                 appeared in multiple copies in the different
  2546.                                 retired packages, and is not currently
  2547.                                 present on the system, is carried forward as
  2548.                                 only one entry (without d:\path) in the
  2549.                                 revised CSLIST.SRT.
  2550.  
  2551.                            SYSMAINT.LOG is a dated system maintenance log
  2552.                               automatically created and updated in your \CS
  2553.                               directory.
  2554.  
  2555.                            FWKDG /w1 provides a date/time_stamp at the
  2556.                               beginning of a line, without a carriage return,
  2557.                               in the same format used in FWKUPLD.LOG; if you
  2558.                               need to track down a system problem, you can
  2559.                               make a merged file and sort it by date and
  2560.                               time. The echo statement in the next line has
  2561.                               two blank spaces after the "echo", to provide a
  2562.                               blank space after the date/time stamp; it
  2563.                               continues and completes the line, and provides
  2564.                               the carriage_return and line_feed.
  2565.  
  2566.                            S_REVCSL is used on giant boards; if necessary, it
  2567.                               can be modified to call an external .BAT for
  2568.                               even more detailed file selection criteria.
  2569.  
  2570.                On large systems, normal FWKCS maintenance does not require
  2571.                any system down time!
  2572.  
  2573.                -----------------------
  2574.  
  2575.            [ ] In the \CS directory, CSLIST.SRT and CSLIST1.SRT provide an
  2576.                easy indication of size and growth of the data base. After you
  2577.                consolidate CSLIST1.SRT into CSLIST.SRT, there are some more
  2578.                detailed types of data you can extract.  If you run a BBS,
  2579.                various of these numbers may also be of interest to your
  2580.                board's users or potential users. Here are some examples:
  2581.  
  2582.                [ ] If your system uses zipfiles, you can count the number of
  2583.                    zipfiles currently on your system by running, in the \CS
  2584.                    directory, this single command line:
  2585.  
  2586.                      fwkcs cslist.srt /t30a7.8f"z" | fwkcs /t30a7.8c":" zc
  2587.  
  2588.                    The resulting output file ZC receives the zipfile count.
  2589.  
  2590.                [ ] If your system uses zipfiles, you can count the number of
  2591.                    unique files directly contained in the zipfiles currently
  2592.                    on the system, by running this .BAT program:
  2593.  
  2594.                      fwkcs cslist.srt /t30a7.8v"cs" | fwkcs /t30a7.8f":" $t1
  2595.                      fwkcs $t1 nul $t2 /t30mp
  2596.                      del $t1
  2597.                      fwkcs $t2 /t30a7.8c":" fc
  2598.                      del $t2
  2599.  
  2600.                    Output file FC receives the unique_files_directly_in_
  2601.                    zipfiles filecount. (This count of unique files is based
  2602.                    on the contents_signature statistical resolution, with
  2603.                    typical pairwise statistical error rate of less than one
  2604.                    part in ten trillion. For detailed discussion of the cs,
  2605.                    see FWKCS /** , search for "  Intro" and "x 4. D" .)
  2606.  
  2607.                [ ] If your system also uses non_zip files (here called
  2608.                    "plain files"), you can count the number of such files
  2609.                    currently on your system by running, in the \CS directory,
  2610.                    this command line:
  2611.  
  2612.                      fwkcs cslist.srt /t30a7.8f"f" | fwkcs /t30a7.8c":" pc
  2613.  
  2614.                    Output file PC receives the "plain file" count.
  2615.  
  2616.                [ ] For an approximate analysis of statistical error load of
  2617.                    the entire data base, in your \CS directory, first do
  2618.  
  2619.                        SPECTRUM /* <enter>   to see what it's objectives are,
  2620.  
  2621.                    then do  SPECTRUM <enter>  and press the space bar to
  2622.                                               continue.
  2623.  
  2624.                    The results are summarized on the screen display when
  2625.                    SPECTRUM finishes running, and later you can use LIST to
  2626.                    read the results from the files listed on the /* help
  2627.                    screen.
  2628.  
  2629.                    A convenient way to use LIST for this is to type
  2630.  
  2631.                         LIST <enter> , then press 1, S, D, Ctrl_End.
  2632.  
  2633.                    Absent intervention (see indented () explanation, below),
  2634.                    that displays the files as a single_column_list in order
  2635.                    of when they were closed after last being written to, and
  2636.                    positions your cursor at the bottom of the list. Absent
  2637.                    special circumstances, the files you just made then appear
  2638.                    in sequence at the bottom of the list. (E.g., if a file is
  2639.                    accessioned on a network or multitask system while
  2640.                    SPECTRUM is running, CSLIST1.SRT and CSLIST1.NDX could be
  2641.                    down among them).
  2642.  
  2643.                          (There are programs which can alter the date and
  2644.                          time recorded for a file, so as to show values other
  2645.                          than when the file was closed after last being
  2646.                          written to.  For example, during the production run,
  2647.                          all the files in this release of FWKCS were given a
  2648.                          specific date and time; those which were processed
  2649.                          further during or after installation usually show
  2650.                          different date and time.)
  2651.  
  2652.                -----------------------
  2653.  
  2654.            [ ] The \CSA directory provides a single place to routinely check
  2655.                for what's going on:
  2656.  
  2657.                  FWKULPD.LOG  for upload activity, record of disposal of files
  2658.                  FWKCNTRL.ERR for FWKCS.EXE error reports
  2659.                  CLIENT.ERR   for FWKCSC.COM error reports
  2660.                  TELSYSOP     warning of an apparent virus found
  2661.  
  2662.                        Notes: If you see an FWKCNTRL.ERR, it means that there
  2663.                                  likely is also an FWKCS.ERR file, hopefully
  2664.                                  created at the location where the error took
  2665.                                  place.
  2666.                               Similarly, if you see a CLIENT.ERR, it means
  2667.                                  that there likely is also an FWKCSC.ERR file
  2668.                                  somewhere, to track down.
  2669.                                        (see discussion re FWKCS.ERR and
  2670.                                         FWKCSC.ERR near top of this step 26).
  2671.                               If you see a TELSYSOP, look also in
  2672.                                  \CSA\POTVIRUS for a copy of the file.
  2673.  
  2674.                \CSA contains the \CSA\P general purpose Process area.  For
  2675.                example, batch programs running in \CSA\P can make special
  2676.                copies of FWKCS.EXE to carry out specific tasks.  You can
  2677.                use the P directory under \CSA for locally processing "batch
  2678.                uploads".
  2679.  
  2680.                \CSA contains target directories for rejected files, for
  2681.                convenience if further processing is desired:
  2682.  
  2683.                  ADINZIZ   an ad was found inside an inner zipfile, inside a
  2684.                              zip in zip zipfile (rejected via DOZIZ0.BAT)
  2685.  
  2686.                  BAV       banned or bad AV stamp (a file's AV stamp can be
  2687.                              specified as banned using BANAV)
  2688.  
  2689.                  ENC       contained apparently encrypted material when not
  2690.                              allowed
  2691.  
  2692.                  FZT       failed zipfile test
  2693.  
  2694.                  MAV       missing AV, when AVs are required
  2695.  
  2696.                  OLD       older than the age test is set for
  2697.  
  2698.                  POTVIRUS  potentially a virus
  2699.  
  2700.                  QSN       question as to sufficient novelty (settable)
  2701.  
  2702.                  RSN       contained a file with a reserved system name
  2703.  
  2704.                  TRASHOLD  duplicate or redundant files (nothing new in them,
  2705.                              but preserved in case a necessary part of an
  2706.                              acceptable set of interrelated files)
  2707.  
  2708.                  UAV       unknown AV, when only pre_approved AVs accepted
  2709.                              (AVs can be entered as OK using LISTAV)
  2710.  
  2711.                  UNC       unchecked: client did not receive reply from host
  2712.  
  2713.                  UNCLEAR   ambiguity arose in further disposing of a zip in
  2714.                              zip zipfile from ZIZ (rejected via DOZIZ0.BAT)
  2715.  
  2716.                  ZIZ       zipfile contained another zipfile
  2717.  
  2718.                  ZIZPATH   a zip in zip zipfile contained a zipped path in
  2719.                              the outermost zipfile (rejected via DOZIZ0.BAT)
  2720.  
  2721.                  ZXL       zipfile would have been larger then allowed if
  2722.                              unzipped ("zip bomb") (allowed size is settable)
  2723.  
  2724.                  ZIZIZ     zipfile in ZIZ contained another zipfile which
  2725.                              contained another zipfile (rejected via
  2726.                              DOZIZ0.BAT)
  2727.  
  2728.                          Notes:
  2729.  
  2730.                          RSN: zipfiles in there are probably trojans. Look at
  2731.                               them with LIST or DEBUG, if you want, but if
  2732.                               you're going to unzip them, it is suggested
  2733.                               that you do it on an isolated machine with
  2734.                               nothing important on it, which you can
  2735.                               conveniently reboot.
  2736.  
  2737.                          UNC: look there if you see a CLIENT.ERR file; once
  2738.                               everything is running, this kind of failure
  2739.                               may indicate a network or hardware problem.  If
  2740.                               the client, FWKCSC, was able to reach the \CSA
  2741.                               to make that report in CLIENT.ERR, there's a
  2742.                               good chance it was also able to save the file
  2743.                               in UNC for possible processing (e.g., SYSOP
  2744.                               intervention) later.
  2745.  
  2746.                          ZIZ: At this time, when automatically processing
  2747.                               uploaded files, FWKCS sets aside any zipfile in
  2748.                               which it finds another zipfile structure, for
  2749.                               possible inspection by the system operator or
  2750.                               for possible (batch) processing using
  2751.                               DOZIZ0.BAT or ZIZDOEM.BAT.  Those "zip in zip"
  2752.                               zipfiles are put into the \CSA\ZIZ directory.
  2753.  
  2754.                               A .BAT program is provided, DOZIZ0.BAT, which
  2755.                               can be run while in the \CSA directory, to
  2756.                               automatically process zip in zip zipfiles found
  2757.                               in \CSA\ZIZ. It puts the accepted ones in
  2758.                               \CSA\ACCEPTED. (See  DOZIZ0 /* <enter> .)
  2759.  
  2760.                                  For each "zip in zip" zipfile processed
  2761.                                  using DOZIZ0, the first zipfile (the outer
  2762.                                  one) must not have any zipped paths, but can
  2763.                                  contain up to 16,383 zipfiles.
  2764.  
  2765.                                  Each of the inner zipfiles can contain a
  2766.                                  full DOS tree of subdirectories (up to 32
  2767.                                  levels of subdirectories) with up to 16,383
  2768.                                  files and subdirectories, but must not
  2769.                                  contain any further level of zipfile
  2770.                                  (including self extracting zipfiles).
  2771.  
  2772.                                  AV stamps are preserved and processed.
  2773.  
  2774.                                  Zipfiles rejected via DOZIZ0 can go to
  2775.                                  various target directories listed above;
  2776.                                  these are DOZIZ0's special target
  2777.                                  directories for rejects (described above):
  2778.                                         \CSA\ADINZIZ
  2779.                                         \CSA\UNCLEAR
  2780.                                         \CSA\ZIZIZ
  2781.                                         \CSA\ZIZPATH
  2782.  
  2783.                                  See DOZIZ0 /* <enter>
  2784.  
  2785.                               A template is provided, ZIZDOEM.BAT, for
  2786.                               configuring your system, calling DOZIZ0 to
  2787.                               process zip in zip rejects, preparing file
  2788.                               descriptions in PCBoard text file format
  2789.                               (including using internal upload description
  2790.                               FILE_ID.DIZ, DESC.SDI, or VENDINFO.DIZ), and
  2791.                               other functions.  ZIZDOEM.BAT is run from a
  2792.                               separate process area, not from in \CSA nor
  2793.                               from in \CS. (default is \CSA\P )
  2794.  
  2795.                                  See \CSA\P\ZIZDOEM /* <enter>
  2796.  
  2797.                          Why are zipfiles which contain other zipfiles set
  2798.                          aside during automatic processing?  Here is part of
  2799.                          the reason why:
  2800.  
  2801.                               DOS supports a sophisticated tree structure of
  2802.                               subdirectories. Phil Katz wrote PKZIP so that
  2803.                               it can capture a full DOS tree of files and
  2804.                               subdirectories into a single zipfile, with a
  2805.                               few keystrokes, and that whole structure can be
  2806.                               recreated at the receiver's end simply by using
  2807.                               the PKUNZIP -d option. For commercial and
  2808.                               business applications, scientific work, and
  2809.                               computer work, this is much more practical than
  2810.                               putting one zipfile inside another.
  2811.  
  2812.                               FWKCS is designed to efficiently and accurately
  2813.                               support that capability Phil provided --
  2814.                               quickly process a zipfile containing a full DOS
  2815.                               tree of files and subdirectories, while
  2816.                               preserving the structure of the zipfile and the
  2817.                               integrity of the zipfile's Authenticity
  2818.                               Verification stamp. That includes the ability
  2819.                               to generate the contents_signatures of all the
  2820.                               files in a zipfile with over 16,000 entries,
  2821.                               containing a DOS tree made of many directories
  2822.                               and files, stacked up to 32 subdirectories deep
  2823.                               (a limit imposed by DOS before the zipfile was
  2824.                               made), on the fly.  Also, FWKCS controls the
  2825.                               processing of uploaded files for virus testing,
  2826.                               so that (default setting) files with different
  2827.                               zipped paths but the same names do not
  2828.                               overwrite one another.  (There is an option
  2829.                               which allows files with the same name and the
  2830.                               same contents_signature to overwrite one
  2831.                               another.)
  2832.  
  2833.                               Let me note that I am not a lawyer, and that
  2834.                               what I say here is not offered as "legal
  2835.                               advice".  Having said that, let me continue
  2836.                               with some remarks on the history of treatment
  2837.                               of zipfiles on bulletin boards, and zip in zip:
  2838.  
  2839.                               Regrettably, in the early use of zipfiles on
  2840.                               bulletin board systems, people took a shortcut:
  2841.                               To virus test the files, they automatically
  2842.                               unzipped all the files into a single
  2843.                               subdirectory, writing one file on top of
  2844.                               another if they had the same name, and using
  2845.                               PKUNZIP's -o (automatic overwrite) option to
  2846.                               avoid having their systems "hang".  Then, they
  2847.                               used a virus testing program to test the files
  2848.                               which were present in the subdirectory. But,
  2849.                               because of the possibility of one file
  2850.                               automatically overwriting another with the
  2851.                               same name, the fact that all the files in the
  2852.                               subdirectory passed the virus test did not mean
  2853.                               that all the files in the zipfile were OK. So,
  2854.                               they did what they euphemistically called
  2855.                               "rezipping": they deleted the original zipfile,
  2856.                               and made a new zipfile containing only the
  2857.                               files which were left in the subdirectory.
  2858.  
  2859.                               That always destroyed any path information
  2860.                               contained in the original zipfile, possibly
  2861.                               lost some files, and always destroyed any
  2862.                               author's Authenticity Verification stamp which
  2863.                               might have been there -- which AV stamp, if
  2864.                               originally present, was possibly the best
  2865.                               protection the end user would have had.
  2866.  
  2867.                               Of course, this impaired the operation of any
  2868.                               program which depended on finding files at
  2869.                               their expected locations in that (missing)
  2870.                               directory tree after the package was opened.
  2871.                               And, it substantially impaired the end user's
  2872.                               ability to rely on the data.  The authors and
  2873.                               owners of that material had not authorized
  2874.                               those people to make such changes in it,
  2875.                               damaging the operation of their programs, and
  2876.                               had not authorized those people to pass such
  2877.                               altered material on to others as if it were the
  2878.                               authors's work.
  2879.  
  2880.                               Moreover, in "rezipping", they would appear to
  2881.                               have been creating a "derivative work" without
  2882.                               the author's permission, in violation of the
  2883.                               author's copyright.
  2884.  
  2885.                               So, an author would try putting material inside
  2886.                               a zipfile, and then zipping that, in hopes that
  2887.                               the inner material would reach the end user
  2888.                               unscathed. Other instances of zip in zip arose
  2889.                               from people putting other people's zipped work
  2890.                               into an additional outer package, thus
  2891.                               ostensibly "creating" a "new work". Other cases
  2892.                               arose in which people took the contents of a
  2893.                               floppy disk, which included a zipfile and an
  2894.                               installation program, and packaged them
  2895.                               together into yet another outer layer of
  2896.                               zipfile -- in this instance, with a little
  2897.                               thought, they might have served their purpose
  2898.                               by putting the installation program into the
  2899.                               existing zipfile (or asking the author to do
  2900.                               so, if the zipfile carried an AV stamp), with
  2901.                               instructions on how to unzip that installation
  2902.                               program first and then use it.
  2903.  
  2904.                               While this was going on, others were delightedly
  2905.                               discovering how easy it was to turn the zip in
  2906.                               zip structure into trojans, etc -- procedures
  2907.                               which I will not discuss further here.
  2908.  
  2909.                               Meanwhile, the UK enacted a Computer Misuse
  2910.                               Act, under which unauthorized alteration of
  2911.                               material on a computer which impairs the
  2912.                               operation of a program or the reliability of
  2913.                               the data would appear possibly a prosecutable
  2914.                               offense, potentially carrying a fine and up to
  2915.                               five years in jail.
  2916.  
  2917.                               This author is not aware of any current
  2918.                               software for reliably and completely processing
  2919.                               the full structure of a zipfile, with a full
  2920.                               DOS tree and Authenticity Verification, in real
  2921.                               time, and at the same time reliably and
  2922.                               completely processing a multi_nested zip in zip
  2923.                               in zip... structure, each nested zipfile
  2924.                               potentially carrying a multiplicity of zipfiles
  2925.                               each of which may itself contain a full DOS
  2926.                               tree, etc -- while carrying out the objective
  2927.                               of protecting the integrity of the original
  2928.                               package and the author's AV stamp.  Although
  2929.                               code could be written to process such zip in
  2930.                               zip in zip... structures on a case by case
  2931.                               basis, this author is not aware of any
  2932.                               mechanism for rapidly scanning them on a
  2933.                               system.
  2934.  
  2935.                               There is a real concern that the community
  2936.                               would be better served by a wider recognition
  2937.                               of the rights of authors and end users to have
  2938.                               Authenticity Verified Zipfiles pass through the
  2939.                               bulletin boards with their contents in pristine
  2940.                               condition -- at which time, authors and end
  2941.                               users could safely employ the far better zipped
  2942.                               path system Phil Katz provided.
  2943.  
  2944.     [ ] 27. The FWKCS system has many files and several subdirectories.  If
  2945.                you need to completely remove the FWKCS system from your hard
  2946.                drive(s), this can be done by running DELCSA D in your \CSA
  2947.                directory and DELCS D in your \CS directory, where D is the
  2948.                drive letter for the drive holding that directory,
  2949.                respectively.
  2950.  
  2951.     [ ] 28. For direct help on using remote Lookup and remote
  2952.                cross_references, type
  2953.                [ ] LOOKUP /* <enter>
  2954.                [ ] RCROSREF /* <enter>.
  2955.  
  2956.     [ ] 29. Different levels of technical support are available to registered
  2957.             users.  For more information about support, see "Support" in
  2958.             REGISTER.DOC; and type FWKCS /! <enter>, and press the space bar
  2959.             until you reach the screen about support.
  2960.  
  2961.     [ ] 30. Print out REGISTER.FRM, and follow its instructions for
  2962.                registering FWKCS.
  2963.             Until you have registered FWKCS, keep a copy of REGISTER.FRM in
  2964.                the same directory with FWKCS.EXE.
  2965.             Using the registered version saves time, in two ways: the
  2966.                registered version does not spend any time on verifying
  2967.                REGISTER.FRM; for an unregistered copy, the first evaluation
  2968.                day is counted as day 0 -- after day 30, a delay is added of 1
  2969.                second for each additional day.
  2970.             This software is not free -- if you do not register it, you should
  2971.                discontinue using it.
  2972.  
  2973.     Be patient, Have fun, Register, and If you need help, please ask.
  2974.  
  2975.  
  2976.                    For programmers, bulletin board operators, sophisticated
  2977.                    users, and people who like to see a lot of action:
  2978.  
  2979.                    [ ] 31. Two extensive quality_control testing programs,
  2980.                               used before FWKCS(TM) is released, are
  2981.                               installed in \CSA.  Among other things, they
  2982.                               test a series of ways in which a file uploaded
  2983.                               to a bulletin board system can be handled.
  2984.  
  2985.                               To run one of these programs, make \CSA your
  2986.                               current directory, do  MD 1  to make an empty
  2987.                               subdirectory 1 under \CSA, do  CD 1  to make
  2988.                               the new directory your current directory, and
  2989.                               run the program there.  To clean up afterward,
  2990.                               run FWKCLEAR in the same directory.  The
  2991.                               special needs of these programs are explained
  2992.                               when you start, or you can use the /* help
  2993.                               command with each of them.
  2994.  
  2995.                           [ ] FWKCTEST can run on a single processor, in DOS.
  2996.  
  2997.                           [ ] FWKCHTST requires a multitasking or
  2998.                               multiprocessor (network) system. It sets up
  2999.                               and runs the client/host configuration, using
  3000.                               two DOS sessions.
  3001.  
  3002. ------------------------------------------------------------------------------
  3003.  
  3004.  
  3005. Distribution:
  3006. ~~~~~~~~~~~~~
  3007. Provided that no fee is charged for the use, copying, or distribution; and
  3008. provided that they are not modified in any way; then you may freely
  3009. distribute unregistered copies of FWKCS(TM), solely in its original
  3010. Authenticity Verification Zipfile named FWKCS200.ZIP with AV code =
  3011.     "# OFT466   Frederick W. Kantor (founder/information mechanics)" .
  3012.  
  3013. If you upload this material to a bulletin board system which does not
  3014. automatically insert the FILE_ID.DIZ description, please provide that
  3015. material in your upload description.
  3016.  
  3017. And, please do not remove Dr. Kantor's Authenticity Verification stamp from
  3018. the FWKCS200.ZIP zipfile.  If the AV stamp was removed before you received
  3019. the zipfile, or if you have accidentally removed the AV, get a good copy to
  3020. distribute of the current release of FWKCS, as a no_fee download, from the
  3021. phone number listed in Note 2, below.
  3022.  
  3023. -----------------------------------------------------------------------------
  3024.  
  3025. Note 2:
  3026. ~~~~~~~
  3027. To get the current release of anti-piracy resource material FWKCXnnn.ZIP, or
  3028. if you are missing any of the shareware programs in checklist items 1-3
  3029. above, they are available as no_fee downloads from The Invention Factory BBS
  3030. on your first call, from a 48_line hunt_up group of USR Dual Standard modems,
  3031. at 2400-16800 bits/sec (including V32.bis):
  3032.  
  3033.                     telephone  212-274-8110 8N1
  3034.                        telnet  199.183.47.133
  3035.  
  3036. Remember to properly compensate the shareware authors whose product(s)
  3037. you use.
  3038.  
  3039.  
  3040. Note 3:
  3041. ~~~~~~~
  3042. The remote lookup functions are available in a relatively small kit,
  3043. FWKLU200.ZIP, released 1995 Jan 16.  If you run a BBS, you may wish to get
  3044. the FWKLU200.ZIP kit for your users, especially if you have active,
  3045. thoughtful uploaders, or if your BBS is a "feeder BBS" and many of your users
  3046. are other BBS's.  The kit comes with instructions, and contains a short
  3047. bulletin, FWKLU200.BLT, suitable for posting. (see phone number in Note 2,
  3048. above)
  3049.  
  3050. ----------------------------------------------------------------------------
  3051.  
  3052. IBM and OS/2 are trademarks of International Business Machines Corporation.
  3053.